Fixed crash-on-exit bug due to status bar being deleted twice (MDI apps);
small changes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -199,7 +199,7 @@ Deletes all bitmap handlers.
|
|||||||
|
|
||||||
This function is called by wxWindows on exit.
|
This function is called by wxWindows on exit.
|
||||||
|
|
||||||
\membersection{wxBitmap::Create}
|
\membersection{wxBitmap::Create}\label{wxbitmapcreate}
|
||||||
|
|
||||||
\func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
\func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||||
|
|
||||||
|
@@ -3,7 +3,6 @@
|
|||||||
% spinctrl.h at 11/Mar/00 00:22:05
|
% spinctrl.h at 11/Mar/00 00:22:05
|
||||||
%
|
%
|
||||||
|
|
||||||
|
|
||||||
\section{\class{wxSpinCtrl}}\label{wxspinctrl}
|
\section{\class{wxSpinCtrl}}\label{wxspinctrl}
|
||||||
|
|
||||||
wxSpinCtrl combines \helpref{wxTextCtrl}{wxtextctrl} and
|
wxSpinCtrl combines \helpref{wxTextCtrl}{wxtextctrl} and
|
||||||
@@ -34,29 +33,24 @@ To process input from a spin button, use one of these event handler macros to di
|
|||||||
functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
||||||
|
|
||||||
\twocolwidtha{7cm}
|
\twocolwidtha{7cm}
|
||||||
\begin{twocollist}
|
\begin{twocollist}\itemsep=0pt
|
||||||
\twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated}
|
\twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated}
|
||||||
\end{twocollist}%
|
\end{twocollist}%
|
||||||
|
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Event handling overview}{eventhandlingoverview},
|
\helpref{Event handling overview}{eventhandlingoverview},
|
||||||
\helpref{wxSpinButton}{wxspinbutton},
|
\helpref{wxSpinButton}{wxspinbutton},
|
||||||
\helpref{wxControl}{wxcontrol}
|
\helpref{wxControl}{wxcontrol}
|
||||||
|
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
|
\membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
|
||||||
|
|
||||||
\func{}{wxSpinCtrl}{\void}
|
\func{}{wxSpinCtrl}{\void}
|
||||||
|
|
||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
\membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
|
|
||||||
|
|
||||||
\func{}{wxSpinCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
|
\func{}{wxSpinCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
|
||||||
|
|
||||||
Constructor, creating and showing a spin control.
|
Constructor, creating and showing a spin control.
|
||||||
@@ -87,14 +81,13 @@ Constructor, creating and showing a spin control.
|
|||||||
|
|
||||||
\helpref{wxSpinCtrl::Create}{wxspinctrlcreate}
|
\helpref{wxSpinCtrl::Create}{wxspinctrlcreate}
|
||||||
|
|
||||||
|
|
||||||
\membersection{wxSpinCtrl::Create}\label{wxspinctrlcreate}
|
\membersection{wxSpinCtrl::Create}\label{wxspinctrlcreate}
|
||||||
|
|
||||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
|
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
|
||||||
|
|
||||||
Creation function called by the spin control constructor.
|
Creation function called by the spin control constructor.
|
||||||
See \helpref{wxSpinCtrl::wxSpinCtrl}{wxspinctrlwxspinctrl} for details.
|
|
||||||
|
|
||||||
|
See \helpref{wxSpinCtrl::wxSpinCtrl}{wxspinctrlwxspinctrl} for details.
|
||||||
|
|
||||||
\membersection{wxSpinCtrl::SetValue}\label{wxspinctrlsetvalue}
|
\membersection{wxSpinCtrl::SetValue}\label{wxspinctrlsetvalue}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
[OPTIONS]
|
[OPTIONS]
|
||||||
BMROOT=d:\wx2\wxWindows\docs\latex\wx ; Assume that bitmaps are where the source is
|
BMROOT=d:\wx2\wxWind~1\docs/latex/wx ; Assume that bitmaps are where the source is
|
||||||
TITLE=wxWindows Manual
|
TITLE=wxWindows Manual
|
||||||
CONTENTS=Contents
|
CONTENTS=Contents
|
||||||
COMPRESS=HIGH
|
COMPRESS=HIGH
|
||||||
|
@@ -1,15 +1,15 @@
|
|||||||
Readme for wxWindows 2.0 Ide-files
|
Readme for wxWindows 2.0 Ide-files
|
||||||
First release Feb. 1999, detlev@reymann-online.de
|
First release Feb. 1999, detlev@reymann-online.de
|
||||||
|
|
||||||
1. What you can do with this ide-files
|
1. What you can do with this IDE files
|
||||||
2. Where to install the files
|
2. Where to install the files
|
||||||
3. How to modify them for your own needs
|
3. How to modify them for your own needs
|
||||||
4. How to create ide-files for your own wxWindows-programs
|
4. How to create IDE files for your own wxWindows-programs
|
||||||
|
|
||||||
1. What you can do with this ide-files
|
1. What you can do with this IDE files
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
There are two ide-files. src\bc32.ide should help you to
|
There are two IDE files. src\bc32.ide should help you to
|
||||||
create the wxWindows libraries from within the Ide of Borlands
|
create the wxWindows libraries from within the Ide of Borlands
|
||||||
C++, v. 5.x. Note that this doesn't include debugging code: you
|
C++, v. 5.x. Note that this doesn't include debugging code: you
|
||||||
need to change the settings if you wish to include debug
|
need to change the settings if you wish to include debug
|
||||||
@@ -42,9 +42,11 @@ To add a new sample to samples\bc32.ide, follow these steps:
|
|||||||
|
|
||||||
a. Choose Project->New target... and type in e.g.
|
a. Choose Project->New target... and type in e.g.
|
||||||
samples\newsample. Press OK.
|
samples\newsample. Press OK.
|
||||||
b. Static, no OWL, MFC or class libraries. Press OK.
|
b. Static, no OWL, MFC or class libraries. Check Multithread
|
||||||
|
on. Press OK.
|
||||||
c. Right-click on the new node, choose Add node... and add
|
c. Right-click on the new node, choose Add node... and add
|
||||||
..\lib\wx32.lib. Add any other source files you require.
|
..\lib\wx32.lib and ..\lib\xpm.lib. Add any other source
|
||||||
|
files you require.
|
||||||
d. Right-click on the new node, choose Edit Local Options.. and
|
d. Right-click on the new node, choose Edit Local Options.. and
|
||||||
add in Directories, specify the following:
|
add in Directories, specify the following:
|
||||||
|
|
||||||
@@ -54,23 +56,25 @@ d. Right-click on the new node, choose Edit Local Options.. and
|
|||||||
Intermediate: .\newsample
|
Intermediate: .\newsample
|
||||||
Final: .\newsample
|
Final: .\newsample
|
||||||
|
|
||||||
4. How to create ide-files for your own wxWindows-programs
|
4. How to create IDE files for your own wxWindows-programs
|
||||||
==========================================================
|
==========================================================
|
||||||
|
|
||||||
I think you are familiar with the necessary options for your own
|
I think you are familiar with the necessary options for your own
|
||||||
programm. So I will only describe what is neccessary to link
|
program. So I will only describe what is neccessary to link
|
||||||
yout programm with the wxWindows-library. If you want to create
|
yout program with the wxWindows library. If you want to create
|
||||||
a ide-file for your own wxWindows-program, create a new project
|
an IDE file for your own wxWindows program, create a new project
|
||||||
from the menu file->new->project. Deactivate all the
|
from the menu file->new->project. Deactivate all the
|
||||||
standard-options, the only two thing that should be activated is
|
standard-options, the only three thing that should be activated is
|
||||||
"static" for the libraries, if you want to use the library
|
"static" for the libraries, if you want to use the library
|
||||||
produced with the library-ide and the checkbox OLE (You can
|
produced with the library-ide, the checkbox OLE (you can
|
||||||
leave this checkbox unchecked, but then you have to add the
|
leave this checkbox unchecked, but then you have to add the
|
||||||
library \bc5\lib\ole2w32.lib to your project). You have to add
|
library \bc5\lib\ole2w32.lib to your project), and the
|
||||||
|
Multithread checkbox. You have to add
|
||||||
the include-path of wxWindows to the include-path in the
|
the include-path of wxWindows to the include-path in the
|
||||||
options-dialog (options->project->directories->include). The
|
options-dialog (options->project->directories->include). The
|
||||||
result should be something like:
|
result should be something like:
|
||||||
path_of_my_program;\bc5\include;\wxwin2\include; Then you have
|
path_of_my_program;\bc5\include;\wxwin2\include; Then you have
|
||||||
to add the libraries to the project. Open the project-view and
|
to add the libraries to the project. Open the project-view and
|
||||||
activate your programm. Then right-click and choose "add" and
|
activate your program. Then right-click and choose "add" and
|
||||||
select the wxWindows-library (e.g. \wxwin\lib\wx32.lib).
|
select the wxWindows library (e.g. \wxwin\lib\wx32.lib). Also
|
||||||
|
add the xpm library.
|
||||||
|
@@ -211,7 +211,7 @@ Compiling using the makefiles:
|
|||||||
2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
|
2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
|
||||||
make the wxWindows core library. Ignore the warnings about
|
make the wxWindows core library. Ignore the warnings about
|
||||||
'XXX' not found in library.
|
'XXX' not found in library.
|
||||||
3. Change directory to a sample such as minimal, and type
|
3. Change directory to a sample or demo such as samples\minimal, and type
|
||||||
'make -f makefile.b32'.
|
'make -f makefile.b32'.
|
||||||
4. For release versions, recompile wxWindows and samples using
|
4. For release versions, recompile wxWindows and samples using
|
||||||
'make -f makefile.b32 clean'
|
'make -f makefile.b32 clean'
|
||||||
@@ -259,11 +259,16 @@ Compiling using the IDE files:
|
|||||||
since some (notably the wxHTML samples) look for files
|
since some (notably the wxHTML samples) look for files
|
||||||
relative to the working directory.
|
relative to the working directory.
|
||||||
|
|
||||||
Note that to make the png, xpm, zlib and jpeg libraries (needed for
|
Note (1): the samples project file contains a selection of
|
||||||
|
samples, and not all samples. The remaining samples can be made
|
||||||
|
with the makefiles. See also the demos hierarchy which doesn't
|
||||||
|
have any BC++ project files yet.
|
||||||
|
|
||||||
|
Note (2): to make the png, xpm, zlib, jpeg and tiff libraries (needed for
|
||||||
some samples) you need to compile them with bc32.ide.
|
some samples) you need to compile them with bc32.ide.
|
||||||
|
|
||||||
The debug version of the wxWindows library is about 37 MB, and the
|
Note (3): the debug version of the wxWindows library is about 40 MB, and the
|
||||||
release version is around 3 MB.
|
release version is around 5 MB.
|
||||||
|
|
||||||
See also the file bc_ide.txt for further instructions and details
|
See also the file bc_ide.txt for further instructions and details
|
||||||
of how to create your own project files.
|
of how to create your own project files.
|
||||||
|
@@ -144,7 +144,7 @@ typedef struct
|
|||||||
file if we are decompressing it */
|
file if we are decompressing it */
|
||||||
} unz_s;
|
} unz_s;
|
||||||
|
|
||||||
#if defined (__VISAGECPP__)
|
#if defined (__VISAGECPP__) || defined(__BORLANDC__)
|
||||||
/* VA always requires prototypes */
|
/* VA always requires prototypes */
|
||||||
int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
|
int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -275,7 +275,7 @@ extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
|
|||||||
the error code
|
the error code
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(__VISAGECPP__)
|
#if defined(__VISAGECPP__) || defined(__BORLANDC__)
|
||||||
/*Visualage complains of no prototypes*/
|
/*Visualage complains of no prototypes*/
|
||||||
int unzlocal_getByte(FILE* , int*);
|
int unzlocal_getByte(FILE* , int*);
|
||||||
int strcmpcasenosensitive_internal (const char*, const char*);
|
int strcmpcasenosensitive_internal (const char*, const char*);
|
||||||
|
@@ -304,6 +304,10 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event)
|
|||||||
SetCursor(*m_sashCursorNS);
|
SetCursor(*m_sashCursorNS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetCursor(* wxSTANDARD_CURSOR);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if ( event.Dragging() &&
|
else if ( event.Dragging() &&
|
||||||
((m_dragMode == wxSASH_DRAG_DRAGGING) ||
|
((m_dragMode == wxSASH_DRAG_DRAGGING) ||
|
||||||
@@ -520,7 +524,7 @@ void wxSashWindow::DrawSash(wxSashEdgePosition edge, wxDC& dc)
|
|||||||
// Draw a drak grey line on the top to indicate that the
|
// Draw a drak grey line on the top to indicate that the
|
||||||
// sash is raised
|
// sash is raised
|
||||||
dc.SetPen(mediumShadowPen);
|
dc.SetPen(mediumShadowPen);
|
||||||
dc.DrawLine(1, GetEdgeMargin(edge), w, GetEdgeMargin(edge));
|
dc.DrawLine(1, GetEdgeMargin(edge), w-1, GetEdgeMargin(edge));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -283,9 +283,15 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
|
|||||||
SetCursor(*m_sashCursorNS);
|
SetCursor(*m_sashCursorNS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef __WXGTK__
|
#if defined(__WXGTK__) || defined(__WXMSW__)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
// We must set the normal cursor in MSW, because
|
||||||
|
// if the child window doesn't have a cursor, the
|
||||||
|
// parent's (splitter window) will be used, and this
|
||||||
|
// must be the standard cursor.
|
||||||
|
wxLogDebug("wxSplitterWindow: Setting to standard cursor");
|
||||||
|
|
||||||
// where else do we unset the cursor?
|
// where else do we unset the cursor?
|
||||||
SetCursor(* wxSTANDARD_CURSOR);
|
SetCursor(* wxSTANDARD_CURSOR);
|
||||||
}
|
}
|
||||||
|
@@ -230,6 +230,7 @@ wxMDIParentFrame::~wxMDIParentFrame()
|
|||||||
DestroyChildren();
|
DestroyChildren();
|
||||||
// already delete by DestroyChildren()
|
// already delete by DestroyChildren()
|
||||||
m_frameToolBar = NULL;
|
m_frameToolBar = NULL;
|
||||||
|
m_frameStatusBar = NULL;
|
||||||
|
|
||||||
// ::DestroyMenu((HMENU)m_windowMenu);
|
// ::DestroyMenu((HMENU)m_windowMenu);
|
||||||
if (m_windowMenu)
|
if (m_windowMenu)
|
||||||
|
Reference in New Issue
Block a user