1
0

More UI changes

This commit is contained in:
Scott E. Graves
2017-02-05 00:32:48 -06:00
parent 87bf6347ca
commit fe5fa9ce8f
3 changed files with 80 additions and 22 deletions

View File

@@ -31,18 +31,7 @@
</table>
</div>
<div id="main_window" style="padding: 10">
<TABLE WIDTH=100% >
<TR WIDTH=100%>
<TD ALIGN=LEFT VALIGN=TOP>
<input id="wallet_btn" type="button" value="Wallet"/>
<input id="host_btn" type="button" value="Host"/>
<input id="mount_btn" type="button" value="Mount"/>
</TD>
</TR>
<tr width="100%" align="center" valign="top">
<div id="tab_page"></div>
</tr>
</TABLE>
</div>
<div style="position: absolute; bottom: 10; left: 10;width: 100%">
<table width="100%">
@@ -58,6 +47,25 @@
<BUTTON STYLE="WIDTH: 100" ID="ExitYes">Yes</BUTTON>&nbsp;<BUTTON STYLE="WIDTH: 100" ID="ExitNo">No</BUTTON>
</div>
<div id="create_wallet" style="display: none">
<h3>Create New Wallet</h3>
</div>
<div id="tab_page" style="display: none">
<TABLE WIDTH=100%>
<TR WIDTH=100%>
<TD ALIGN=LEFT VALIGN=TOP>
<input id="wallet_btn" type="button" value="Wallet"/>
<input id="host_btn" type="button" value="Host"/>
<input id="mount_btn" type="button" value="Mount"/>
</TD>
</TR>
<tr width="100%" align="center" valign="top">
<div id="tab_page"></div>
</tr>
</TABLE>
</div>
<div id="wallet_tab" style="display: none"></div>
<div id="host_tab" style="display: none"></div>

View File

@@ -178,9 +178,18 @@ HRESULT CSiaDriveDlg::OnButtonCancel(IHTMLElement* /*pElement*/)
void CSiaDriveDlg::OnDocumentComplete(LPDISPATCH, LPCTSTR)
{
SetTimer(IDT_UPDATE, 1000, nullptr);
UpdateUi();
UpdateData(FALSE);
switch (_siaConfig.GetUI_Main_TabIndex())
{
case WALLET_TAB:
{
DisplayWalletTab();
}
break;
}
SetTimer(IDT_UPDATE, 1000, nullptr);
}
void CSiaDriveDlg::OnTimer(UINT_PTR nIDEvent)
@@ -215,16 +224,54 @@ void CSiaDriveDlg::UpdateUi()
_serverVersion = _siaApi.GetServerVersion().c_str();
SetWalletInfo();
switch (_siaConfig.GetUI_Main_TabIndex())
UpdateData(FALSE);
}
HRESULT CSiaDriveDlg::GetDomElementById(const CString& id, CComPtr<IHTMLDOMNode>& node)
{
CComPtr<IHTMLElement> elem;
return GetDomElementAndNodeById(id, node, elem);
}
HRESULT CSiaDriveDlg::GetDomElementAndNodeById(const CString& id, CComPtr<IHTMLDOMNode>& node, CComPtr<IHTMLElement>& elem)
{
HRESULT hr;
if (SUCCEEDED((hr = GetElement(id, &elem))))
{
case WALLET_TAB:
{
DisplayWalletTab();
}
break;
hr = elem->QueryInterface(IID_IHTMLDOMNode, reinterpret_cast<void**>(&node));
}
UpdateData(FALSE);
return hr;
}
void CSiaDriveDlg::DisplayCreateWallet()
{
CComPtr<IHTMLDOMNode> mainNode;
if (SUCCEEDED(GetDomElementById(L"main_window", mainNode)))
{
CComPtr<IHTMLElement> div;
CComPtr<IHTMLDOMNode> walletCreateNode;
if (SUCCEEDED(GetDomElementAndNodeById(L"create_wallet", walletCreateNode, div)))
{
CComPtr<IHTMLDOMNode> parent;
if (SUCCEEDED(walletCreateNode->get_parentNode(&parent)))
{
CComPtr<IHTMLDOMNode> removedNode;
if (SUCCEEDED(parent->removeChild(walletCreateNode, &removedNode)))
{
CComPtr<IHTMLDOMNode> appendedNode;
if (SUCCEEDED(parent->appendChild(removedNode, &appendedNode)))
{
CComPtr<IHTMLStyle> style;
if (SUCCEEDED(div->get_style(&style)))
{
style->put_display(L"block");
}
}
}
}
}
}
}
void CSiaDriveDlg::DisplayWalletTab()
@@ -234,6 +281,6 @@ void CSiaDriveDlg::DisplayWalletTab()
}
else
{
DisplayCreateWallet();
}
}

View File

@@ -41,9 +41,12 @@ protected:
DECLARE_DHTML_EVENT_MAP()
private:
void DisplayCreateWallet();
void DisplayWalletTab();
void SetWalletInfo();
void UpdateUi();
HRESULT GetDomElementById(const CString& id, CComPtr<IHTMLDOMNode>& node);
HRESULT GetDomElementAndNodeById(const CString& id, CComPtr<IHTMLDOMNode>& node, CComPtr<IHTMLElement>& elem);
private:
CSiaDriveConfig _siaConfig;