From: <ma...@us...> - 2003-12-22 05:30:04
|
Update of /cvsroot/sharedaemon/ui-wx/src In directory sc8-pr-cvs1:/tmp/cvs-serv31912 Modified Files: SBPanel.cpp SBPanel.h ServerWnd.cpp Log Message: Sidebar buttons now also have images :) Index: SBPanel.cpp =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/SBPanel.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- SBPanel.cpp 21 Dec 2003 05:35:12 -0000 1.8 +++ SBPanel.cpp 22 Dec 2003 05:30:00 -0000 1.9 @@ -42,20 +42,38 @@ * and a "headerbutton" which will then provide us with toggling functionality. */ CSBPanel::CSBPanel( - wxWindow *parent, wxWindowID id, const - wxString &title, const wxString &name + wxWindow *parent, wxWindowID id, const wxString &title, + const wxString &name, const wxBitmap &image ) : wxPanel( parent, id, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, name) { + if (image != wxNullBitmap) { + use_image = true; + } else { + use_image = false; + } + wxStaticBox *box = new wxStaticBox(this, -1, wxT("")); mainsizer = new wxStaticBoxSizer(box, wxVERTICAL); - headerbtn = new wxButton( - this, -1, title, wxDefaultPosition, wxDefaultSize, 0 - ); - headerbtn->SetFont(wxFont(SB_BTN_FONT_SIZE, wxROMAN, wxNORMAL, wxBOLD)); - mainsizer->Add(headerbtn, 0, wxGROW|wxADJUST_MINSIZE, 5); + if (use_image) { + headerbmpbtn = new MBitmapButton( + this, -1, title, image + ); + headerbmpbtn->SetFont( + wxFont(SB_BTN_FONT_SIZE, wxROMAN, wxNORMAL, wxBOLD) + ); + mainsizer->Add(headerbmpbtn, 0, wxGROW|wxADJUST_MINSIZE, 5); + } else { + headerbtn = new wxButton( + this, -1, title, wxDefaultPosition, wxDefaultSize, 0 + ); + headerbtn->SetFont( + wxFont(SB_BTN_FONT_SIZE, wxROMAN, wxNORMAL, wxBOLD) + ); + mainsizer->Add(headerbtn, 0, wxGROW|wxADJUST_MINSIZE, 5); + } SetAutoLayout(true); SetSizer(mainsizer); @@ -83,9 +101,16 @@ * Layout() as neccesery. */ void CSBPanel::Toggle(wxCommandEvent &event) { - if (event.GetId() != headerbtn->GetId()) { - event.Skip(); - return; + if (use_image) { + if (event.GetId() != headerbmpbtn->GetId()) { + event.Skip(); + return; + } + } else { + if (event.GetId() != headerbtn->GetId()) { + event.Skip(); + return; + } } if (shown) { @@ -129,7 +154,11 @@ */ if (!tmp) { wxCommandEvent nullevent; - nullevent.SetId(headerbtn->GetId()); + if (use_image) { + nullevent.SetId(headerbmpbtn->GetId()); + } else { + nullevent.SetId(headerbtn->GetId()); + } Toggle(nullevent); } } Index: SBPanel.h =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/SBPanel.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- SBPanel.h 21 Dec 2003 05:35:12 -0000 1.4 +++ SBPanel.h 22 Dec 2003 05:30:00 -0000 1.5 @@ -31,6 +31,8 @@ #endif #include "defines.h" +#include "MBitmapButton.h" +#include "Images.h" #if defined(__WXMSW__) || defined(__GTK2__) #define SB_BTN_FONT_SIZE 10 @@ -51,7 +53,8 @@ public: CSBPanel( wxWindow *parent, wxWindowID id, - const wxString &title, const wxString &name + const wxString &title, const wxString &name, + const wxBitmap &image = wxNullBitmap ); virtual ~CSBPanel(); @@ -63,7 +66,9 @@ wxStaticBoxSizer *mainsizer; wxSizer *content; wxButton *headerbtn; + MBitmapButton *headerbmpbtn; bool shown; + bool use_image; }; #endif Index: ServerWnd.cpp =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/ServerWnd.cpp,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- ServerWnd.cpp 17 Dec 2003 10:15:21 -0000 1.48 +++ ServerWnd.cpp 22 Dec 2003 05:30:00 -0000 1.49 @@ -186,25 +186,30 @@ /* Sidebar sections */ CSBPanel *addserver = new CSBPanel( - sidebar, -1, _("Add new server"), wxT("SideBar_AddServer") + sidebar, -1, _("Add new server"), wxT("SideBar_AddServer"), + img->GetImage(wxT("newserver")) ); addserver->SetContent(AddServerPanel(addserver, false, false)); sbmain->Add(addserver, 0, wxGROW|wxALL|wxADJUST_MINSIZE, 0); CSBPanel *serversettings = new CSBPanel( - sidebar, -1, _("Server settings"), wxT("SideBar_ServerSettings") + sidebar, -1, _("Server settings"), + wxT("SideBar_ServerSettings"), + img->GetImage(wxT("updateservers")) ); serversettings->SetContent(SettingsPanel(serversettings, false, false)); sbmain->Add(serversettings, 0, wxGROW|wxALL|wxADJUST_MINSIZE, 0); CSBPanel *portsettings = new CSBPanel( - sidebar, -1, _("Port settings"), wxT("SideBar_PortSettings") + sidebar, -1, _("Port settings"), wxT("SideBar_PortSettings"), + img->GetImage(wxT("server")) ); portsettings->SetContent(PortSettingsPanel(portsettings, false, false)); sbmain->Add(portsettings, 0, wxGROW|wxALL|wxADJUST_MINSIZE, 0); CSBPanel *logoptions = new CSBPanel( - sidebar, -1, _("Log options"), wxT("SideBar_LoggingOptions") + sidebar, -1, _("Log options"), wxT("SideBar_LoggingOptions"), + img->GetImage(wxT("log")) ); logoptions->SetContent(LogOptionsPanel(logoptions, false, false)); sbmain->Add(logoptions, 0, wxGROW|wxALL|wxADJUST_MINSIZE, 0); |