]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/ttoolbar.tex
1. added code to dyntbar to allow bitmap loading from windows resources
[wxWidgets.git] / docs / latex / wx / ttoolbar.tex
index d0d2fd03975ad38e5bd1aa459eb6efcbc0c05e5f..2401877bca489437a5311b5384032cd66402c947 100644 (file)
@@ -56,7 +56,7 @@ around the bitmap (for colour displays where inverting will not have
 the desired result).
 
 The Windows-specific toolbar classes expect 16-colour bitmaps that are 16 pixels wide and 15 pixels
-high. If you want to use a different size, call {\bf SetDefaultSize}\rtfsp
+high. If you want to use a different size, call {\bf SetToolBitmapSize}\rtfsp
 as the demo shows, before adding tools to the button bar. Don't supply more than
 one bitmap for each tool, because the toolbar generates all three images (normal,
 depressed and checked) from the single bitmap you give it.
@@ -101,39 +101,44 @@ source is given below.
 #endif
 
 #include "wx/toolbar.h"
-#include "test.h"
+#include <wx/log.h>
 
-IMPLEMENT_APP(MyApp)
+#include "test.h"
 
-#ifdef __X__
-// TODO: include XBM or XPM icons for X apps
+#if defined(__WXGTK__) || defined(__WXMOTIF__)
+#include "mondrian.xpm"
+#include "bitmaps/new.xpm"
+#include "bitmaps/open.xpm"
+#include "bitmaps/save.xpm"
+#include "bitmaps/copy.xpm"
+#include "bitmaps/cut.xpm"
+#include "bitmaps/print.xpm"
+#include "bitmaps/preview.xpm"
+#include "bitmaps/help.xpm"
 #endif
 
+IMPLEMENT_APP(MyApp)
+
 // The `main program' equivalent, creating the windows and returning the
 // main frame
 bool MyApp::OnInit(void)
 {
   // Create the main frame window
-  MyFrame* frame = new MyFrame(NULL, -1, "wxToolBar Sample",
+  MyFrame* frame = new MyFrame((wxFrame *) NULL, -1, (const wxString) "wxToolBar Sample",
      wxPoint(100, 100), wxSize(450, 300));
 
   // Give it a status line
   frame->CreateStatusBar();
 
   // Give it an icon
-#ifdef __WXMSW__
-  frame->SetIcon(wxIcon("mondrian"));
-#endif
-#ifdef __X__
-  frame->SetIcon(wxIcon("mondrian.xbm"));
-#endif
+  frame->SetIcon(wxICON(mondrian));
 
   // Make a menubar
   wxMenu *fileMenu = new wxMenu;
-  fileMenu->Append(wxID_EXIT, "E&xit");
+  fileMenu->Append(wxID_EXIT, "E&xit", "Quit toolbar sample" );
 
   wxMenu *helpMenu = new wxMenu;
-  helpMenu->Append(wxID_HELP, "&About");
+  helpMenu->Append(wxID_HELP, "&About", "About toolbar sample");
 
   wxMenuBar* menuBar = new wxMenuBar;
 
@@ -145,12 +150,15 @@ bool MyApp::OnInit(void)
 
   // Create the toolbar
   frame->CreateToolBar(wxNO_BORDER|wxHORIZONTAL|wxTB_FLAT, ID_TOOLBAR);
+  
+  frame->GetToolBar()->SetMargins( 2, 2 );
 
   InitToolbar(frame->GetToolBar());
 
   // Force a resize. This should probably be replaced by a call to a wxFrame
   // function that lays out default decorations and the remaining content window.
-  frame->OnSize(wxSizeEvent(wxSize(-1, -1), frame->GetId()));
+  wxSizeEvent event(wxSize(-1, -1), frame->GetId());
+  frame->OnSize(event);
   frame->Show(TRUE);
 
   frame->SetStatusText("Hello, wxWindows");
@@ -162,8 +170,6 @@ bool MyApp::OnInit(void)
 
 bool MyApp::InitToolbar(wxToolBar* toolBar)
 {
-  toolBar->SetMargins(5, 5);
-
   // Set up toolbar
   wxBitmap* toolBarBitmaps[8];
 
@@ -176,17 +182,15 @@ bool MyApp::InitToolbar(wxToolBar* toolBar)
   toolBarBitmaps[5] = new wxBitmap("icon6");
   toolBarBitmaps[6] = new wxBitmap("icon7");
   toolBarBitmaps[7] = new wxBitmap("icon8");
-#endif
-#ifdef __X__
-  // TODO
-  toolBarBitmaps[0] = new wxBitmap(...);
-  toolBarBitmaps[1] = new wxBitmap(...);
-  toolBarBitmaps[2] = new wxBitmap(...);
-  toolBarBitmaps[3] = new wxBitmap(...);
-  toolBarBitmaps[4] = new wxBitmap(...);
-  toolBarBitmaps[5] = new wxBitmap(...);
-  toolBarBitmaps[6] = new wxBitmap(...);
-  toolBarBitmaps[7] = new wxBitmap(...);
+#else
+  toolBarBitmaps[0] = new wxBitmap( new_xpm );
+  toolBarBitmaps[1] = new wxBitmap( open_xpm );
+  toolBarBitmaps[2] = new wxBitmap( save_xpm );
+  toolBarBitmaps[3] = new wxBitmap( copy_xpm );
+  toolBarBitmaps[4] = new wxBitmap( cut_xpm );
+  toolBarBitmaps[5] = new wxBitmap( preview_xpm );
+  toolBarBitmaps[6] = new wxBitmap( print_xpm );
+  toolBarBitmaps[7] = new wxBitmap( help_xpm );
 #endif
 
 #ifdef __WXMSW__
@@ -194,27 +198,26 @@ bool MyApp::InitToolbar(wxToolBar* toolBar)
 #else
   int width = 16;
 #endif
-  int offX = 5;
   int currentX = 5;
 
-  toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
+  toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "New file");
   currentX += width + 5;
-  toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
+  toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Open file");
   currentX += width + 5;
-  toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
+  toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Save file");
   currentX += width + 5;
   toolBar->AddSeparator();
-  toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
+  toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Copy");
   currentX += width + 5;
-  toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
+  toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Cut");
   currentX += width + 5;
-  toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
+  toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Paste");
   currentX += width + 5;
   toolBar->AddSeparator();
-  toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
+  toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Print");
   currentX += width + 5;
   toolBar->AddSeparator();
-  toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, NULL, "Help");
+  toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, (wxObject *) NULL, "Help");
 
   toolBar->Realize();
 
@@ -233,7 +236,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(wxID_HELP, MyFrame::OnAbout)
     EVT_CLOSE(MyFrame::OnCloseWindow)
     EVT_TOOL_RANGE(wxID_OPEN, wxID_PASTE, MyFrame::OnToolLeftClick)
-    EVT_TOOL_ENTER(ID_TOOLBAR, MyFrame::OnToolEnter)
+    EVT_TOOL_ENTER(wxID_OPEN, MyFrame::OnToolEnter)
 END_EVENT_TABLE()
 
 // Define my frame constructor
@@ -244,19 +247,19 @@ MyFrame::MyFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wx
   m_textWindow = new wxTextCtrl(this, -1, "", wxPoint(0, 0), wxSize(-1, -1), wxTE_MULTILINE);
 }
 
-void MyFrame::OnQuit(wxCommandEvent& event)
+void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
 {
     Close(TRUE);
 }
 
-void MyFrame::OnAbout(wxCommandEvent& event)
+void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
 {
-    (void)wxMessageBox("wxWindows wxToolBar demo\n", "About wxToolBar");
+    (void)wxMessageBox("wxWindows toolbar sample", "About wxToolBar");
 }
 
 // Define the behaviour for the frame closing
 // - must delete all frames except for the main one.
-void MyFrame::OnCloseWindow(wxCloseEvent& event)
+void MyFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
 {
   Destroy();
 }