diff --git a/src/sbbs3/userlist/SBBS_User_ListMain.cpp b/src/sbbs3/userlist/SBBS_User_ListMain.cpp index 1d038818c3d991253a37d23913b9a033b495782f..e0a1207f474935604fa33aabb29c92419b559e4a 100644 --- a/src/sbbs3/userlist/SBBS_User_ListMain.cpp +++ b/src/sbbs3/userlist/SBBS_User_ListMain.cpp @@ -10,7 +10,10 @@ #include "SBBS_User_ListMain.h" #include <wx/msgdlg.h> -//(*InternalHeaders(SBBS_User_ListFrame)#include <wx/intl.h>#include <wx/string.h>//*) +//(*InternalHeaders(SBBS_User_ListFrame) +#include <wx/intl.h> +#include <wx/string.h> +//*) //helper functions enum wxbuildinfoformat { @@ -38,7 +41,20 @@ wxString wxbuildinfo(wxbuildinfoformat format) return wxbuild; } -//(*IdInit(SBBS_User_ListFrame)const long SBBS_User_ListFrame::ID_STATICTEXT1 = wxNewId();const long SBBS_User_ListFrame::ID_ARSTEXTCTRL = wxNewId();const long SBBS_User_ListFrame::ID_CLEARBUTTON = wxNewId();const long SBBS_User_ListFrame::ID_USERLISTCTRL = wxNewId();const long SBBS_User_ListFrame::ID_STATICTEXT2 = wxNewId();const long SBBS_User_ListFrame::ID_QVCHOICE = wxNewId();const long SBBS_User_ListFrame::ID_REFRESHBUTTON = wxNewId();const long SBBS_User_ListFrame::ID_EDITBUTTON = wxNewId();const long SBBS_User_ListFrame::ID_PANEL1 = wxNewId();const long SBBS_User_ListFrame::idMenuQuit = wxNewId();const long SBBS_User_ListFrame::idMenuAbout = wxNewId();const long SBBS_User_ListFrame::ID_STATUSBAR1 = wxNewId();//*) +//(*IdInit(SBBS_User_ListFrame) +const long SBBS_User_ListFrame::ID_STATICTEXT1 = wxNewId(); +const long SBBS_User_ListFrame::ID_ARSTEXTCTRL = wxNewId(); +const long SBBS_User_ListFrame::ID_CLEARBUTTON = wxNewId(); +const long SBBS_User_ListFrame::ID_USERLISTCTRL = wxNewId(); +const long SBBS_User_ListFrame::ID_STATICTEXT2 = wxNewId(); +const long SBBS_User_ListFrame::ID_QVCHOICE = wxNewId(); +const long SBBS_User_ListFrame::ID_REFRESHBUTTON = wxNewId(); +const long SBBS_User_ListFrame::ID_EDITBUTTON = wxNewId(); +const long SBBS_User_ListFrame::ID_PANEL1 = wxNewId(); +const long SBBS_User_ListFrame::idMenuQuit = wxNewId(); +const long SBBS_User_ListFrame::idMenuAbout = wxNewId(); +const long SBBS_User_ListFrame::ID_STATUSBAR1 = wxNewId(); +//*) BEGIN_EVENT_TABLE(SBBS_User_ListFrame,wxFrame) //(*EventTable(SBBS_User_ListFrame) @@ -99,7 +115,80 @@ void SBBS_User_ListFrame::fillUserList(void) SBBS_User_ListFrame::SBBS_User_ListFrame(wxWindow* parent,wxWindowID id) { - //(*Initialize(SBBS_User_ListFrame) wxBoxSizer* BoxSizer4; wxBoxSizer* BoxSizer5; wxMenuItem* MenuItem2; wxMenuItem* MenuItem1; wxBoxSizer* BoxSizer2; wxMenu* Menu1; wxBoxSizer* BoxSizer1; wxMenuBar* MenuBar1; wxBoxSizer* BoxSizer3; wxMenu* Menu2; Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id")); Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1")); BoxSizer1 = new wxBoxSizer(wxVERTICAL); BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _("ARS Filter"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); BoxSizer2->Add(StaticText1, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); ARSFilter = new wxTextCtrl(Panel1, ID_ARSTEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_ARSTEXTCTRL")); ARSFilter->SetToolTip(_("Enter an ARS string to filter users with")); BoxSizer2->Add(ARSFilter, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); ClearButton = new wxButton(Panel1, ID_CLEARBUTTON, _("Clear"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CLEARBUTTON")); ClearButton->SetToolTip(_("Clears the ARS filter")); BoxSizer2->Add(ClearButton, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer1->Add(BoxSizer2, 0, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); UserList = new wxListCtrl(Panel1, ID_USERLISTCTRL, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_HRULES, wxDefaultValidator, _T("ID_USERLISTCTRL")); BoxSizer1->Add(UserList, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _("Quick Validation Sets"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2")); BoxSizer4->Add(StaticText2, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); QVChoice = new wxChoice(Panel1, ID_QVCHOICE, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_QVCHOICE")); QVChoice->SetSelection( QVChoice->Append(_("Select a set")) ); QVChoice->Disable(); BoxSizer4->Add(QVChoice, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer3->Add(BoxSizer4, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); BoxSizer5 = new wxBoxSizer(wxHORIZONTAL); RefreshButton = new wxButton(Panel1, ID_REFRESHBUTTON, _("Refresh"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_REFRESHBUTTON")); RefreshButton->SetToolTip(_("Reloads the user database")); BoxSizer5->Add(RefreshButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); EditButton = new wxButton(Panel1, ID_EDITBUTTON, _("Edit"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_EDITBUTTON")); EditButton->Disable(); BoxSizer5->Add(EditButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); BoxSizer3->Add(BoxSizer5, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); BoxSizer1->Add(BoxSizer3, 0, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); Panel1->SetSizer(BoxSizer1); BoxSizer1->Fit(Panel1); BoxSizer1->SetSizeHints(Panel1); MenuBar1 = new wxMenuBar(); Menu1 = new wxMenu(); MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL); Menu1->Append(MenuItem1); MenuBar1->Append(Menu1, _("&File")); Menu2 = new wxMenu(); MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL); Menu2->Append(MenuItem2); MenuBar1->Append(Menu2, _("Help")); SetMenuBar(MenuBar1); StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1")); int __wxStatusBarWidths_1[1] = { -1 }; int __wxStatusBarStyles_1[1] = { wxSB_NORMAL }; StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1); StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1); SetStatusBar(StatusBar1); Connect(ID_ARSTEXTCTRL,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnARSFilterText); Connect(ID_CLEARBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnClearButtonClick); Connect(ID_USERLISTCTRL,wxEVT_COMMAND_LIST_ITEM_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnUserListItemSelect); Connect(ID_USERLISTCTRL,wxEVT_COMMAND_LIST_ITEM_DESELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnUserListItemSelect); Connect(ID_QVCHOICE,wxEVT_COMMAND_CHOICE_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnQVChoiceSelect); Connect(ID_REFRESHBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnRefreshButtonClick); Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnQuit); Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnAbout); //*) + //(*Initialize(SBBS_User_ListFrame) + wxBoxSizer* BoxSizer4; + wxBoxSizer* BoxSizer5; + wxMenuItem* MenuItem2; + wxMenuItem* MenuItem1; + wxBoxSizer* BoxSizer2; + wxMenu* Menu1; + wxBoxSizer* BoxSizer1; + wxMenuBar* MenuBar1; + wxBoxSizer* BoxSizer3; + wxMenu* Menu2; + + Create(parent, id, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxDEFAULT_FRAME_STYLE, _T("id")); + Panel1 = new wxPanel(this, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, _T("ID_PANEL1")); + BoxSizer1 = new wxBoxSizer(wxVERTICAL); + BoxSizer2 = new wxBoxSizer(wxHORIZONTAL); + StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _("ARS Filter"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT1")); + BoxSizer2->Add(StaticText1, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); + ARSFilter = new wxTextCtrl(Panel1, ID_ARSTEXTCTRL, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_ARSTEXTCTRL")); + ARSFilter->SetToolTip(_("Enter an ARS string to filter users with")); + BoxSizer2->Add(ARSFilter, 1, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); + ClearButton = new wxButton(Panel1, ID_CLEARBUTTON, _("Clear"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_CLEARBUTTON")); + ClearButton->SetToolTip(_("Clears the ARS filter")); + BoxSizer2->Add(ClearButton, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); + BoxSizer1->Add(BoxSizer2, 0, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); + UserList = new wxListCtrl(Panel1, ID_USERLISTCTRL, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_HRULES, wxDefaultValidator, _T("ID_USERLISTCTRL")); + BoxSizer1->Add(UserList, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); + BoxSizer3 = new wxBoxSizer(wxHORIZONTAL); + BoxSizer4 = new wxBoxSizer(wxHORIZONTAL); + StaticText2 = new wxStaticText(Panel1, ID_STATICTEXT2, _("Quick Validation Sets"), wxDefaultPosition, wxDefaultSize, 0, _T("ID_STATICTEXT2")); + BoxSizer4->Add(StaticText2, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); + QVChoice = new wxChoice(Panel1, ID_QVCHOICE, wxDefaultPosition, wxDefaultSize, 0, 0, 0, wxDefaultValidator, _T("ID_QVCHOICE")); + QVChoice->SetSelection( QVChoice->Append(_("Select a set")) ); + QVChoice->Disable(); + BoxSizer4->Add(QVChoice, 0, wxALL|wxALIGN_LEFT|wxALIGN_TOP, 5); + BoxSizer3->Add(BoxSizer4, 1, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); + BoxSizer5 = new wxBoxSizer(wxHORIZONTAL); + RefreshButton = new wxButton(Panel1, ID_REFRESHBUTTON, _("Refresh"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_REFRESHBUTTON")); + RefreshButton->SetToolTip(_("Reloads the user database")); + BoxSizer5->Add(RefreshButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); + EditButton = new wxButton(Panel1, ID_EDITBUTTON, _("Edit"), wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator, _T("ID_EDITBUTTON")); + EditButton->Disable(); + BoxSizer5->Add(EditButton, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); + BoxSizer3->Add(BoxSizer5, 0, wxALL|wxALIGN_RIGHT|wxALIGN_TOP, 5); + BoxSizer1->Add(BoxSizer3, 0, wxALL|wxEXPAND|wxALIGN_LEFT|wxALIGN_TOP, 5); + Panel1->SetSizer(BoxSizer1); + BoxSizer1->Fit(Panel1); + BoxSizer1->SetSizeHints(Panel1); + MenuBar1 = new wxMenuBar(); + Menu1 = new wxMenu(); + MenuItem1 = new wxMenuItem(Menu1, idMenuQuit, _("Quit\tAlt-F4"), _("Quit the application"), wxITEM_NORMAL); + Menu1->Append(MenuItem1); + MenuBar1->Append(Menu1, _("&File")); + Menu2 = new wxMenu(); + MenuItem2 = new wxMenuItem(Menu2, idMenuAbout, _("About\tF1"), _("Show info about this application"), wxITEM_NORMAL); + Menu2->Append(MenuItem2); + MenuBar1->Append(Menu2, _("Help")); + SetMenuBar(MenuBar1); + StatusBar1 = new wxStatusBar(this, ID_STATUSBAR1, 0, _T("ID_STATUSBAR1")); + int __wxStatusBarWidths_1[1] = { -1 }; + int __wxStatusBarStyles_1[1] = { wxSB_NORMAL }; + StatusBar1->SetFieldsCount(1,__wxStatusBarWidths_1); + StatusBar1->SetStatusStyles(1,__wxStatusBarStyles_1); + SetStatusBar(StatusBar1); + + Connect(ID_ARSTEXTCTRL,wxEVT_COMMAND_TEXT_UPDATED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnARSFilterText); + Connect(ID_CLEARBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnClearButtonClick); + Connect(ID_USERLISTCTRL,wxEVT_COMMAND_LIST_ITEM_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnUserListItemSelect); + Connect(ID_USERLISTCTRL,wxEVT_COMMAND_LIST_ITEM_DESELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnUserListItemSelect); + Connect(ID_QVCHOICE,wxEVT_COMMAND_CHOICE_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnQVChoiceSelect); + Connect(ID_REFRESHBUTTON,wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnRefreshButtonClick); + Connect(idMenuQuit,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnQuit); + Connect(idMenuAbout,wxEVT_COMMAND_MENU_SELECTED,(wxObjectEventFunction)&SBBS_User_ListFrame::OnAbout); + //*) // Stupid Windows Dance wxListItem itemCol; diff --git a/src/sbbs3/userlist/SBBS_User_ListMain.h b/src/sbbs3/userlist/SBBS_User_ListMain.h index 6f9a6874f7262efdc34ee0453182cdcb80f2f732..eb0aa25b705954d0e48b4c43e5dba75627cc4de1 100644 --- a/src/sbbs3/userlist/SBBS_User_ListMain.h +++ b/src/sbbs3/userlist/SBBS_User_ListMain.h @@ -10,7 +10,18 @@ #ifndef SBBS_USER_LISTMAIN_H #define SBBS_USER_LISTMAIN_H -//(*Headers(SBBS_User_ListFrame)#include <wx/listctrl.h>#include <wx/sizer.h>#include <wx/stattext.h>#include <wx/menu.h>#include <wx/textctrl.h>#include <wx/panel.h>#include <wx/choice.h>#include <wx/button.h>#include <wx/frame.h>#include <wx/statusbr.h>//*) +//(*Headers(SBBS_User_ListFrame) +#include <wx/listctrl.h> +#include <wx/sizer.h> +#include <wx/stattext.h> +#include <wx/menu.h> +#include <wx/textctrl.h> +#include <wx/panel.h> +#include <wx/choice.h> +#include <wx/button.h> +#include <wx/frame.h> +#include <wx/statusbr.h> +//*) #include "SBBS_User_ListApp.h" @@ -35,9 +46,33 @@ class SBBS_User_ListFrame: public wxFrame void OnQVChoiceSelect(wxCommandEvent& event); //*) - //(*Identifiers(SBBS_User_ListFrame) static const long ID_STATICTEXT1; static const long ID_ARSTEXTCTRL; static const long ID_CLEARBUTTON; static const long ID_USERLISTCTRL; static const long ID_STATICTEXT2; static const long ID_QVCHOICE; static const long ID_REFRESHBUTTON; static const long ID_EDITBUTTON; static const long ID_PANEL1; static const long idMenuQuit; static const long idMenuAbout; static const long ID_STATUSBAR1; //*) + //(*Identifiers(SBBS_User_ListFrame) + static const long ID_STATICTEXT1; + static const long ID_ARSTEXTCTRL; + static const long ID_CLEARBUTTON; + static const long ID_USERLISTCTRL; + static const long ID_STATICTEXT2; + static const long ID_QVCHOICE; + static const long ID_REFRESHBUTTON; + static const long ID_EDITBUTTON; + static const long ID_PANEL1; + static const long idMenuQuit; + static const long idMenuAbout; + static const long ID_STATUSBAR1; + //*) - //(*Declarations(SBBS_User_ListFrame) wxButton* RefreshButton; wxStaticText* StaticText2; wxPanel* Panel1; wxStaticText* StaticText1; wxListCtrl* UserList; wxStatusBar* StatusBar1; wxButton* ClearButton; wxChoice* QVChoice; wxButton* EditButton; wxTextCtrl* ARSFilter; //*) + //(*Declarations(SBBS_User_ListFrame) + wxButton* RefreshButton; + wxStaticText* StaticText2; + wxPanel* Panel1; + wxStaticText* StaticText1; + wxListCtrl* UserList; + wxStatusBar* StatusBar1; + wxButton* ClearButton; + wxChoice* QVChoice; + wxButton* EditButton; + wxTextCtrl* ARSFilter; + //*) unsigned char *ars; DECLARE_EVENT_TABLE()