The validity of these flags depends on the platform and wxWindows configuration.}
-\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
-probably be eliminated; instead the app should set the palette before saving.}
+\docparam{palette}{An optional palette used for saving the bitmap.}
+% TODO: this parameter should
+%probably be eliminated; instead the app should set the palette before saving.
\wxheading{Return value}
\docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.}
-\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
-probably be eliminated; instead the app should set the palette before saving.}
+\docparam{palette}{An optional palette used for saving the bitmap.}
\wxheading{Return value}
TODO: Offer a nicer way to do this. Maybe by providing a platform
dependent function in this class like
+
\begin{verbatim}
size_t GetBitmapSize( const wxBitmap &bitmap )
\end{verbatim}
own brush data internally so that other brushes, which previously shared the
data using the reference counting, are not affected.
-TODO: an overview for wxBrush.
-
+%TODO: an overview for wxBrush.
\wxheading{See also}
\helpref{wxBrushList}{wxbrushlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetBrush}{wxdcsetbrush}
Tests the equality of two colours by comparing individual red, green blue colours.
-TODO: this may be different on platforms other than Windows - no reference counting
-is done on Windows.
-
\membersection{wxColour::operator $!=$}\label{wxcolourinequality}
\func{bool}{operator $!=$}{\param{const wxColour\&}{ colour}}
Tests the inequality of two colours by comparing individual red, green blue colours.
-TODO: this may be different on platforms other than Windows - no reference counting
-is done on Windows.
-
\section{\class{wxColourData}}\label{wxcolourdata}
This class holds a variety of information related to colour dialogs.
\constfunc{int}{Number}{\void}
Returns the number of items in the combobox list.
-
-TODO: make this GetNumber or GetCount?
+%TODO: make this GetNumber or GetCount?
\membersection{wxComboBox::Paste}\label{wxcomboboxpaste}
A class for manipulating dates.
+NOTE: this class should be
+used with caution, since it is not fully tested. It may be replaced
+with a new class in the near future.
+
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
Normally, any extra data the programmer wishes
to associate with the object should be made available by deriving a new class
with new data members.
-
-TODO: make this void*, char* only in compatibility mode.
+%TODO: make this void*, char* only in compatibility mode.
\wxheading{See also}
This function may be redefined to do something non trivial and is called
whenever one of debugging macros fails (i.e. condition is false in an
-assertion). TODO: this should probably be an overridable in wxApp.
+assertion).
+% TODO: this should probably be an overridable in wxApp.
\membersection{wxASSERT}\label{wxassert}
The validity of these flags depends on the platform and wxWindows configuration.}
-\docparam{palette}{An optional palette used for saving the icon. TODO: this parameter should
-probably be eliminated; instead the app should set the palette before saving.}
+\docparam{palette}{An optional palette used for saving the icon.}
\wxheading{Return value}
\subsection{Edges and relationships}
-TODO: put this in a different section.
-
The {\it wxEdge}\index{wxEdge} enumerated type specifies the type of edge or dimension of a window.
\begin{twocollist}\itemsep=0pt
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_MENU\_CHAR(func)}}{Process a wxEVT\_MENU\_CHAR event (a keypress
-when a menu is showing). Windows only. TODO}
+when a menu is showing). Windows only; not yet implemented.}
\twocolitem{{\bf EVT\_MENU\_INIT(func)}}{Process a wxEVT\_MENU\_INIT event (the menu
-is about to pop up). Windows only. TODO}
+is about to pop up). Windows only; not yet implemented.}
\twocolitem{{\bf EVT\_MENU\_HIGHLIGHT(func)}}{Process a wxEVT\_MENU\_HIGHLIGHT event (a menu
-item is being highlighted). Windows only.}
+item is being highlighted). Windows only; not yet implemented.}
\twocolitem{{\bf EVT\_POPUP\_MENU(func)}}{Process a wxEVT\_POPUP\_MENU event (a menu
-item is being highlighted). Windows only. TODO}
+item is being highlighted). Windows only; not yet implemented.}
\twocolitem{{\bf EVT\_CONTEXT\_MENU(func)}}{Process a wxEVT\_CONTEXT\_MENU event (F1 has
-been pressed with a particular menu item highlighted). Windows only. TODO}
+been pressed with a particular menu item highlighted). Windows only; not yet implemented.}
\end{twocollist}%
\wxheading{See also}
This class represents a dialog that shows a list of strings, and allows
the user to select one or more.
-TODO.
-
\wxheading{Derived from}
\helpref{wxDialog}{wxdialog}\\
A palette is a table that maps pixel values to RGB colours. It allows the colours
of a low-depth bitmap, for example, to be mapped to the available colours in a display.
-TODO: topic overview for wxPalette.
-
+%TODO: topic overview for wxPalette.
\wxheading{Derived from}
\helpref{wxGDIObject}{wxgdiobject}\\
own pen data internally so that other pens, which previously shared the
data using the reference counting, are not affected.
-TODO: an overview for wxPen.
-
+%TODO: an overview for wxPen.
\wxheading{See also}
\helpref{wxPenList}{wxpenlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetPen}{wxdcsetpen}
deallocated by the calling application until the pen is deleted or this
function is called with a NULL array.
-TODO: describe in detail.
-
+%TODO: describe in detail.
\wxheading{See also}
\helpref{wxPen::GetDashes}{wxpengetdashes}
See also \helpref{window styles overview}{windowstyles}.
-\wxheading{Remarks}
-
-TODO
-
\wxheading{Event handling}
To process input from a spin button, use one of these event handler macros to direct input to member
A static text control displays one or more lines of read-only text.
-TODO: should a static text have a validator? E.g. if you wanted
-to use it to initialise the control with some text taken from
-the validator.
-
\wxheading{Derived from}
\helpref{wxControl}{wxcontrol}\\
Classes: \helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}
This dialog shows a list of choices, plus OK and (optionally) Cancel. The user can
-select one or more of them. TODO.
+select one or more of them.
+
Classes: \helpref{wxImageList}{wximagelist}
-TODO.
+An image list is a list of images that may have transparent areas.
+The class helps an application organise a collection of images
+so that they can be referenced by integer index instead of by
+pointer.
+
+Image lists are used in \helpref{wxNotebook}{wxnotebook},
+\helpref{wxListCtrl}{wxlistctrl}, \helpref{wxTreeCtrl}{wxlistctrl} and
+some other control classes.
Representation of time and date.
+NOTE: this class should be
+used with caution, since it is not fully tested. It may be replaced
+with a new class in the near future.
+
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
#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;
// 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");
bool MyApp::InitToolbar(wxToolBar* toolBar)
{
- toolBar->SetMargins(5, 5);
-
// Set up toolbar
wxBitmap* toolBarBitmaps[8];
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__
#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();
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
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();
}
\func{void}{Clear}{\void}
-Clears the window by filling it with the current background colour.
+Clears the window by filling it with the current background colour. Does not
+cause an erase background event to be generated.
\membersection{wxWindow::ClientToScreen}
Each window has an integer identifier. If the application has not provided one,
an identifier will be generated.
-TODO: perhaps there should be a default identifier for each class, rather
-choosing one, which could clash with other ones.
-
\wxheading{See also}
-\helpref{wxWindow::SetId}{wxwindowsetid}
+\helpref{wxWindow::SetId}{wxwindowsetid}\rtfsp
+\helpref{Window identifiers}{windowids}
\membersection{wxWindow::GetPosition}
TRUE if the operation succeeded, otherwise FALSE.
-\wxheading{Remarks}
-
-TODO
-
-\wxheading{See also}
-
-TODO
-
\membersection{wxWindow::Lower}\label{wxwindowlower}
\func{void}{Lower}{\void}
The background colour is usually painted by the default\rtfsp
\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground} event handler function.
+Note that setting the background colour does not cause an immediate refresh, so you
+may wish to call \helpref{wxWindow::Clear}{wxwindowclear} or \helpref{wxWindow::Refresh}{wxwindowrefresh} after
+calling this function.
+
\wxheading{See also}
\helpref{wxWindow::GetBackgroundColour}{wxwindowgetbackgroundcolour},\rtfsp
\helpref{wxWindow::SetForegroundColour}{wxwindowsetforegroundcolour},\rtfsp
\helpref{wxWindow::GetForegroundColour}{wxwindowgetforegroundcolour},\rtfsp
+\helpref{wxWindow::Clear}{wxwindowclear},\rtfsp
+\helpref{wxWindow::Refresh}{wxwindowrefresh},\rtfsp
\helpref{wxWindow::OnEraseBackground}{wxwindowonerasebackground}
\membersection{wxWindow::SetConstraints}\label{wxwindowsetconstraints}
an identifier will be generated. Normally, the identifier should be provided
on creation and should not be modified subsequently.
-TODO: perhaps there should be a default identifier for each class, rather
-choosing one, which could clash with other ones.
-
\wxheading{See also}
-\helpref{wxWindow::GetId}{wxwindowgetid}
-
+\helpref{wxWindow::GetId}{wxwindowgetid},\rtfsp
+\helpref{Window identifiers}{windowids}
\membersection{wxWindow::SetName}\label{wxwindowsetname}
// format available on the clipboard ?
// supply ID if private format, the same as wxPrivateDataObject::SetId()
- virtual bool IsSupportedFormat( wxDataFormat format, const wxString &id = wxEmptyString );
+ virtual bool IsSupported( wxDataFormat format );
// fill data with data on the clipboard (if available)
virtual bool GetData( wxDataObject *data );
wxCloseClipboard();
}
-bool wxClipboard::IsSupportedFormat( wxDataFormat format, const wxString& WXUNUSED(id) )
+bool wxClipboard::IsSupported( wxDataFormat format)
{
return wxIsClipboardFormatAvailable(format);
}
#include "wx/utils.h"
#include "wx/app.h"
+#include "wx/process.h"
#include <stdio.h>
#include <stdlib.h>
XtRemoveInput(*id);
if (process_data->process)
- process_data->process->OnTerminate(process_data->pid);
+ process_data->process->OnTerminate(process_data->pid, 0); // What should 'status' be?
process_data->end_process = TRUE;
-
+
+/* double deletion!
if (process_data->pid > 0)
delete process_data;
else
+*/
process_data->pid = 0;
}
XtAppProcessEvent((XtAppContext) wxTheApp->GetAppContext(), XtIMAll);
if (WIFEXITED(process_data->end_process) != 0)
+ {
+ delete process_data;
return WEXITSTATUS(process_data->end_process);
+ }
}
delete process_data;