]> Git Repo - VerusCoin.git/blobdiff - ui.h
more addr message error checking
[VerusCoin.git] / ui.h
diff --git a/ui.h b/ui.h
index 9fc7e0ebe72add61d4e56c60d914b422cce14d32..a59e43262cdb4686be758eef3842190ab3675cf2 100644 (file)
--- a/ui.h
+++ b/ui.h
@@ -1,43 +1,70 @@
-// Copyright (c) 2009 Satoshi Nakamoto\r
+// Copyright (c) 2009-2010 Satoshi Nakamoto\r
 // Distributed under the MIT/X11 software license, see the accompanying\r
 // file license.txt or http://www.opensource.org/licenses/mit-license.php.\r
 \r
+DECLARE_EVENT_TYPE(wxEVT_UITHREADCALL, -1)\r
 \r
+#if wxUSE_GUI\r
+static const bool fGUI=true;\r
+#else\r
+static const bool fGUI=false;\r
+#endif\r
 \r
+inline int MyMessageBox(const wxString& message, const wxString& caption="Message", int style=wxOK, wxWindow* parent=NULL, int x=-1, int y=-1)\r
+{\r
+#if wxUSE_GUI\r
+    if (!fDaemon)\r
+        return wxMessageBox(message, caption, style, parent, x, y);\r
+#endif\r
+    printf("wxMessageBox %s: %s\n", string(caption).c_str(), string(message).c_str());\r
+    fprintf(stderr, "%s: %s\n", string(caption).c_str(), string(message).c_str());\r
+    return wxOK;\r
+}\r
+#define wxMessageBox  MyMessageBox\r
 \r
-DECLARE_EVENT_TYPE(wxEVT_CROSSTHREADCALL, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_REPLY1, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_REPLY2, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_REPLY3, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_TABLEADDED, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_TABLEUPDATED, -1)\r
-DECLARE_EVENT_TYPE(wxEVT_TABLEDELETED, -1)\r
 \r
-enum\r
-{\r
-    UICALL_ADDORDER = 1,\r
-    UICALL_UPDATEORDER,\r
-};\r
 \r
 \r
+void HandleCtrlA(wxKeyEvent& event);\r
+string FormatTxStatus(const CWalletTx& wtx);\r
+void UIThreadCall(boost::function0<void>);\r
+int ThreadSafeMessageBox(const string& message, const string& caption="Message", int style=wxOK, wxWindow* parent=NULL, int x=-1, int y=-1);\r
+bool ThreadSafeAskFee(int64 nFeeRequired, const string& strCaption, wxWindow* parent);\r
+void CalledSetStatusBar(const string& strText, int nField);\r
+void MainFrameRepaint();\r
+void CreateMainWindow();\r
 \r
 \r
-extern map<string, string> mapArgs;\r
 \r
-// Settings\r
-extern int fShowGenerated;\r
-extern int fMinimizeToTray;\r
-extern int fMinimizeOnClose;\r
 \r
 \r
+#if !wxUSE_GUI\r
+inline int ThreadSafeMessageBox(const string& message, const string& caption, int style, wxWindow* parent, int x, int y)\r
+{\r
+    return MyMessageBox(message, caption, style, parent, x, y);\r
+}\r
 \r
-extern void HandleCtrlA(wxKeyEvent& event);\r
-extern string DateTimeStr(int64 nTime);\r
-extern string FormatTxStatus(const CWalletTx& wtx);\r
-extern void CrossThreadCall(int nID, void* pdata);\r
-extern void MainFrameRepaint();\r
-extern void Shutdown(void* parg);\r
+inline bool ThreadSafeAskFee(int64 nFeeRequired, const string& strCaption, wxWindow* parent)\r
+{\r
+    return true;\r
+}\r
 \r
+inline void CalledSetStatusBar(const string& strText, int nField)\r
+{\r
+}\r
+\r
+inline void UIThreadCall(boost::function0<void> fn)\r
+{\r
+}\r
+\r
+inline void MainFrameRepaint()\r
+{\r
+}\r
+\r
+inline void CreateMainWindow()\r
+{\r
+}\r
+#else // wxUSE_GUI\r
 \r
 \r
 \r
@@ -47,6 +74,7 @@ class CMainFrame : public CMainFrameBase
 {\r
 protected:\r
     // Event handlers\r
+    void OnNotebookPageChanged(wxNotebookEvent& event);\r
     void OnClose(wxCloseEvent& event);\r
     void OnIconize(wxIconizeEvent& event);\r
     void OnMouseEvents(wxMouseEvent& event);\r
@@ -55,8 +83,6 @@ protected:
     void OnPaint(wxPaintEvent& event);\r
     void OnPaintListCtrl(wxPaintEvent& event);\r
     void OnMenuFileExit(wxCommandEvent& event);\r
-    void OnMenuViewShowGenerated(wxCommandEvent& event);\r
-    void OnUpdateUIViewShowGenerated(wxUpdateUIEvent& event);\r
     void OnMenuOptionsGenerate(wxCommandEvent& event);\r
     void OnUpdateUIOptionsGenerate(wxUpdateUIEvent& event);\r
     void OnMenuOptionsChangeYourAddress(wxCommandEvent& event);\r
@@ -66,10 +92,10 @@ protected:
     void OnButtonAddressBook(wxCommandEvent& event);\r
     void OnSetFocusAddress(wxFocusEvent& event);\r
     void OnMouseEventsAddress(wxMouseEvent& event);\r
+    void OnButtonNew(wxCommandEvent& event);\r
     void OnButtonCopy(wxCommandEvent& event);\r
-    void OnButtonChange(wxCommandEvent& event);\r
     void OnListColBeginDrag(wxListEvent& event);\r
-    void OnListItemActivatedAllTransactions(wxListEvent& event);\r
+    void OnListItemActivated(wxListEvent& event);\r
     void OnListItemActivatedProductsSent(wxListEvent& event);\r
     void OnListItemActivatedOrdersSent(wxListEvent& event);\r
     void OnListItemActivatedOrdersReceived(wxListEvent& event);\r
@@ -80,18 +106,31 @@ public:
     ~CMainFrame();\r
 \r
     // Custom\r
+    enum\r
+    {\r
+        ALL = 0,\r
+        SENTRECEIVED = 1,\r
+        SENT = 2,\r
+        RECEIVED = 3,\r
+    };\r
+    int nPage;\r
+    wxListCtrl* m_listCtrl;\r
+    bool fShowGenerated;\r
+    bool fShowSent;\r
+    bool fShowReceived;\r
     bool fRefreshListCtrl;\r
     bool fRefreshListCtrlRunning;\r
     bool fOnSetFocusAddress;\r
-    CBlockIndex* pindexBestLast;\r
-    set<uint256> setUnmaturedDisplayed;\r
+    unsigned int nListViewUpdated;\r
+    bool fRefresh;\r
 \r
-    void OnCrossThreadCall(wxCommandEvent& event);\r
+    void OnUIThreadCall(wxCommandEvent& event);\r
+    int GetSortIndex(const string& strSort);\r
     void InsertLine(bool fNew, int nIndex, uint256 hashKey, string strSort, const wxString& str1, const wxString& str2, const wxString& str3, const wxString& str4, const wxString& str5);\r
     bool DeleteLine(uint256 hashKey);\r
     bool InsertTransaction(const CWalletTx& wtx, bool fNew, int nIndex=-1);\r
     void RefreshListCtrl();\r
-    void RefreshStatus();\r
+    void RefreshStatusColumn();\r
 };\r
 \r
 \r
@@ -120,7 +159,6 @@ protected:
     void OnListBox(wxCommandEvent& event);\r
     void OnKillFocusTransactionFee(wxFocusEvent& event);\r
     void OnCheckBoxLimitProcessors(wxCommandEvent& event);\r
-    void OnCheckBoxMinimizeToTray(wxCommandEvent& event);\r
     void OnCheckBoxUseProxy(wxCommandEvent& event);\r
     void OnKillFocusProxy(wxFocusEvent& event);\r
 \r
@@ -220,190 +258,44 @@ void SendingDialogOnReply3(void* parg, CDataStream& vRecv);
 \r
 \r
 \r
-class CYourAddressDialog : public CYourAddressDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnListEndLabelEdit(wxListEvent& event);\r
-    void OnListItemSelected(wxListEvent& event);\r
-    void OnListItemActivated(wxListEvent& event);\r
-    void OnButtonRename(wxCommandEvent& event);\r
-    void OnButtonNew(wxCommandEvent& event);\r
-    void OnButtonCopy(wxCommandEvent& event);\r
-    void OnButtonOK(wxCommandEvent& event);\r
-    void OnButtonCancel(wxCommandEvent& event);\r
-    void OnClose(wxCloseEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CYourAddressDialog(wxWindow* parent);\r
-    CYourAddressDialog(wxWindow* parent, const string& strInitSelected);\r
-\r
-    // Custom\r
-    wxString GetAddress();\r
-};\r
-\r
-\r
-\r
 class CAddressBookDialog : public CAddressBookDialogBase\r
 {\r
 protected:\r
     // Event handlers\r
+    void OnNotebookPageChanged(wxNotebookEvent& event);\r
     void OnListEndLabelEdit(wxListEvent& event);\r
     void OnListItemSelected(wxListEvent& event);\r
     void OnListItemActivated(wxListEvent& event);\r
-    void OnButtonEdit(wxCommandEvent& event);\r
     void OnButtonDelete(wxCommandEvent& event);\r
-    void OnButtonNew(wxCommandEvent& event);\r
     void OnButtonCopy(wxCommandEvent& event);\r
+    void OnButtonEdit(wxCommandEvent& event);\r
+    void OnButtonNew(wxCommandEvent& event);\r
     void OnButtonOK(wxCommandEvent& event);\r
     void OnButtonCancel(wxCommandEvent& event);\r
     void OnClose(wxCloseEvent& event);\r
 \r
 public:\r
     /** Constructor */\r
-    CAddressBookDialog(wxWindow* parent, const wxString& strInitSelected, bool fSendingIn);\r
+    CAddressBookDialog(wxWindow* parent, const wxString& strInitSelected, int nPageIn, bool fDuringSendIn);\r
 \r
     // Custom\r
-    bool fSending;\r
+    enum\r
+    {\r
+        SENDING = 0,\r
+        RECEIVING = 1,\r
+    };\r
+    int nPage;\r
+    wxListCtrl* m_listCtrl;\r
+    bool fDuringSend;\r
     wxString GetAddress();\r
+    wxString GetSelectedAddress();\r
+    wxString GetSelectedSendingAddress();\r
+    wxString GetSelectedReceivingAddress();\r
     bool CheckIfMine(const string& strAddress, const string& strTitle);\r
 };\r
 \r
 \r
 \r
-class CProductsDialog : public CProductsDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnKeyDown(wxKeyEvent& event) { HandleCtrlA(event); }\r
-    void OnCombobox(wxCommandEvent& event);\r
-    void OnButtonSearch(wxCommandEvent& event);\r
-    void OnListItemActivated(wxListEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CProductsDialog(wxWindow* parent);\r
-\r
-    // Custom\r
-    vector<CProduct> m_vProduct;\r
-};\r
-\r
-\r
-\r
-class CEditProductDialog : public CEditProductDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnKeyDown(wxKeyEvent& event) { HandleCtrlA(event); }\r
-    void OnButtonDel0(wxCommandEvent& event);\r
-    void OnButtonDel1(wxCommandEvent& event);\r
-    void OnButtonDel2(wxCommandEvent& event);\r
-    void OnButtonDel3(wxCommandEvent& event);\r
-    void OnButtonDel4(wxCommandEvent& event);\r
-    void OnButtonDel5(wxCommandEvent& event);\r
-    void OnButtonDel6(wxCommandEvent& event);\r
-    void OnButtonDel7(wxCommandEvent& event);\r
-    void OnButtonDel8(wxCommandEvent& event);\r
-    void OnButtonDel9(wxCommandEvent& event);\r
-    void OnButtonDel10(wxCommandEvent& event);\r
-    void OnButtonDel11(wxCommandEvent& event);\r
-    void OnButtonDel12(wxCommandEvent& event);\r
-    void OnButtonDel13(wxCommandEvent& event);\r
-    void OnButtonDel14(wxCommandEvent& event);\r
-    void OnButtonDel15(wxCommandEvent& event);\r
-    void OnButtonDel16(wxCommandEvent& event);\r
-    void OnButtonDel17(wxCommandEvent& event);\r
-    void OnButtonDel18(wxCommandEvent& event);\r
-    void OnButtonDel19(wxCommandEvent& event);\r
-    void OnButtonAddField(wxCommandEvent& event);\r
-    void OnButtonSend(wxCommandEvent& event);\r
-    void OnButtonPreview(wxCommandEvent& event);\r
-    void OnButtonCancel(wxCommandEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CEditProductDialog(wxWindow* parent);\r
-\r
-    // Custom\r
-    enum { FIELDS_MAX = 20 };\r
-    wxTextCtrl* m_textCtrlLabel[FIELDS_MAX];\r
-    wxTextCtrl* m_textCtrlField[FIELDS_MAX];\r
-    wxButton*   m_buttonDel[FIELDS_MAX];\r
-\r
-    void LayoutAll();\r
-    void ShowLine(int i, bool fShow=true);\r
-    void OnButtonDel(wxCommandEvent& event, int n);\r
-    void SetProduct(const CProduct& productIn);\r
-    void GetProduct(CProduct& product);\r
-\r
-};\r
-\r
-\r
-\r
-class CViewProductDialog : public CViewProductDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnButtonSubmitForm(wxCommandEvent& event);\r
-    void OnButtonCancelForm(wxCommandEvent& event);\r
-    void OnButtonBack(wxCommandEvent& event);\r
-    void OnButtonNext(wxCommandEvent& event);\r
-    void OnButtonCancel(wxCommandEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CViewProductDialog(wxWindow* parent, const CProduct& productIn);\r
-    ~CViewProductDialog();\r
-\r
-    // Custom\r
-    CProduct product;\r
-    enum { FIELDS_MAX = 20 };\r
-    wxStaticText* m_staticTextLabel[FIELDS_MAX];\r
-    wxTextCtrl*   m_textCtrlField[FIELDS_MAX];\r
-    wxChoice*     m_choiceField[FIELDS_MAX];\r
-\r
-    void GetOrder(CWalletTx& order);\r
-    void UpdateProductDisplay(bool fDetails);\r
-    void OnReply1(wxCommandEvent& event);\r
-};\r
-\r
-\r
-\r
-class CViewOrderDialog : public CViewOrderDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnButtonOK(wxCommandEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CViewOrderDialog(wxWindow* parent, CWalletTx order, bool fReceived);\r
-\r
-    // Custom\r
-    bool fReceived;\r
-};\r
-\r
-\r
-\r
-class CEditReviewDialog : public CEditReviewDialogBase\r
-{\r
-protected:\r
-    // Event handlers\r
-    void OnKeyDown(wxKeyEvent& event) { HandleCtrlA(event); }\r
-    void OnButtonSubmit(wxCommandEvent& event);\r
-    void OnButtonCancel(wxCommandEvent& event);\r
-\r
-public:\r
-    /** Constructor */\r
-    CEditReviewDialog(wxWindow* parent);\r
-\r
-    // Custom\r
-    void GetReview(CReview& review);\r
-};\r
-\r
-\r
-\r
 class CGetTextFromUserDialog : public CGetTextFromUserDialogBase\r
 {\r
 protected:\r
@@ -429,16 +321,25 @@ public:
                            const string& strMessage2="",\r
                            const string& strValue2="") : CGetTextFromUserDialogBase(parent, wxID_ANY, strCaption)\r
     {\r
+        int x = GetSize().GetWidth();\r
+        int y = GetSize().GetHeight();\r
         m_staticTextMessage1->SetLabel(strMessage1);\r
         m_textCtrl1->SetValue(strValue1);\r
+        y += wxString(strMessage1).Freq('\n') * 14;\r
         if (!strMessage2.empty())\r
         {\r
             m_staticTextMessage2->Show(true);\r
             m_staticTextMessage2->SetLabel(strMessage2);\r
             m_textCtrl2->Show(true);\r
             m_textCtrl2->SetValue(strValue2);\r
-            SetSize(wxDefaultCoord, 180);\r
+            y += 46 + wxString(strMessage2).Freq('\n') * 14;\r
         }\r
+        if (!fWindows)\r
+        {\r
+            x *= 1.14;\r
+            y *= 1.14;\r
+        }\r
+        SetSize(x, y);\r
     }\r
 \r
     // Custom\r
@@ -455,6 +356,7 @@ protected:
     // Event handlers\r
     void OnLeftButtonDClick(wxTaskBarIconEvent& event);\r
     void OnMenuRestore(wxCommandEvent& event);\r
+    void OnMenuOptions(wxCommandEvent& event);\r
     void OnUpdateUIGenerate(wxUpdateUIEvent& event);\r
     void OnMenuGenerate(wxCommandEvent& event);\r
     void OnMenuExit(wxCommandEvent& event);\r
@@ -474,8 +376,4 @@ public:
 DECLARE_EVENT_TABLE()\r
 };\r
 \r
-\r
-\r
-\r
-\r
-\r
+#endif // wxUSE_GUI\r
This page took 0.036268 seconds and 4 git commands to generate.