Various bug fixes, cosmetic changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@184 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -432,87 +432,6 @@ bool wxEvtHandler::SearchDynamicEventTable( wxEvent& event )
|
||||
return FALSE;
|
||||
};
|
||||
|
||||
/*
|
||||
#if WXWIN_COMPATIBILITY
|
||||
void wxEvtHandler::OldOnMenuCommand(int cmd)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnMenuCommand(cmd);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnMenuSelect(int cmd)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnMenuSelect(cmd);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnInitMenuPopup(int pos)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnInitMenuPopup(pos);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnScroll(wxCommandEvent& event)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnScroll(event);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnPaint(void)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnPaint();
|
||||
}
|
||||
void wxEvtHandler::OldOnSize(int width, int height)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnSize(width, height);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnMove(int x, int y)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnMove(x, y);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnMouseEvent(wxMouseEvent& event)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnMouseEvent(event);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnChar(wxKeyEvent& event)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnChar(event);
|
||||
}
|
||||
|
||||
// Under Windows, we can intercept character input per dialog or frame
|
||||
bool wxEvtHandler::OldOnCharHook(wxKeyEvent& event)
|
||||
{
|
||||
if (GetNextHandler()) return GetNextHandler()->OldOnCharHook(event);
|
||||
else return FALSE;
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnActivate(bool active)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnActivate(active);
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnSetFocus(void)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnSetFocus();
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnKillFocus(void)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnKillFocus();
|
||||
}
|
||||
|
||||
bool wxEvtHandler::OldOnSysColourChange(void)
|
||||
{
|
||||
if (GetNextHandler()) return GetNextHandler()->OldOnSysColourChange();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void wxEvtHandler::OldOnDropFiles(int n, char *files[], int x, int y)
|
||||
{
|
||||
if (GetNextHandler()) GetNextHandler()->OldOnDropFiles(n, files, x, y);
|
||||
}
|
||||
#endif
|
||||
*/
|
||||
|
||||
bool wxEvtHandler::OnClose(void)
|
||||
{
|
||||
if (GetNextHandler()) return GetNextHandler()->OnClose();
|
||||
|
@@ -884,7 +884,7 @@ void * operator new (size_t size, char * fileName, int lineNum)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 800) )
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
|
||||
void * operator new[] (size_t size, char * fileName, int lineNum)
|
||||
{
|
||||
#ifdef NO_DEBUG_ALLOCATION
|
||||
@@ -904,7 +904,7 @@ void operator delete (void * buf)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 800) )
|
||||
#if !( defined (_MSC_VER) && (_MSC_VER <= 1000) )
|
||||
void operator delete[] (void * buf)
|
||||
{
|
||||
#ifdef NO_DEBUG_ALLOCATION
|
||||
|
109
src/msw/app.cpp
109
src/msw/app.cpp
@@ -161,7 +161,7 @@ bool wxApp::Initialize(WXHANDLE instance)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool wxApp::RegisterWindowClasses(void)
|
||||
bool wxApp::RegisterWindowClasses()
|
||||
{
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// Register the frame window class.
|
||||
@@ -286,7 +286,7 @@ bool wxApp::RegisterWindowClasses(void)
|
||||
}
|
||||
|
||||
// Cleans up any wxWindows internal structures left lying around
|
||||
void wxApp::CleanUp(void)
|
||||
void wxApp::CleanUp()
|
||||
{
|
||||
wxModule::CleanUpModules();
|
||||
|
||||
@@ -335,7 +335,7 @@ void wxApp::CleanUp(void)
|
||||
delete wxLog::SetActiveTarget(NULL);
|
||||
}
|
||||
|
||||
void wxApp::CommonInit(void)
|
||||
void wxApp::CommonInit()
|
||||
{
|
||||
#ifdef __WINDOWS__
|
||||
wxBuffer = new char[1500];
|
||||
@@ -345,32 +345,8 @@ void wxApp::CommonInit(void)
|
||||
|
||||
wxClassInfo::InitializeClasses();
|
||||
|
||||
#ifdef __X__
|
||||
wxTheFontNameDirectory.Initialize();
|
||||
#endif
|
||||
|
||||
#if defined(__X__) && USE_RESOURCES
|
||||
// Read standard font names from .Xdefaults
|
||||
|
||||
extern char *wxDecorativeFontName;
|
||||
extern char *wxRomanFontName;
|
||||
extern char *wxModernFontName;
|
||||
extern char *wxSwissFontName;
|
||||
extern char *wxScriptFontName;
|
||||
extern char *wxTeletypeFontName;
|
||||
extern char *wxDefaultFontName;
|
||||
|
||||
(void) wxGetResource("wxWindows", "defaultFamily", &wxDefaultFontName);
|
||||
(void) wxGetResource("wxWindows", "decorativeFamily", &wxDecorativeFontName);
|
||||
(void) wxGetResource("wxWindows", "romanFamily", &wxRomanFontName);
|
||||
(void) wxGetResource("wxWindows", "modernFamily", &wxModernFontName);
|
||||
(void) wxGetResource("wxWindows", "swissFamily", &wxSwissFontName);
|
||||
(void) wxGetResource("wxWindows", "scriptFamily", &wxScriptFontName);
|
||||
(void) wxGetResource("wxWindows", "teletypeFamily", &wxTeletypeFontName);
|
||||
#endif
|
||||
|
||||
#if USE_RESOURCES
|
||||
(void) wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
|
||||
wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
|
||||
#endif
|
||||
|
||||
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
|
||||
@@ -393,7 +369,7 @@ void wxApp::CommonInit(void)
|
||||
g_globalCursor = new wxCursor;
|
||||
}
|
||||
|
||||
void wxApp::CommonCleanUp(void)
|
||||
void wxApp::CommonCleanUp()
|
||||
{
|
||||
#if USE_WX_RESOURCES
|
||||
wxCleanUpResourceSystem();
|
||||
@@ -660,7 +636,7 @@ int wxEntry(WXHINSTANCE hInstance)
|
||||
// Static member initialization
|
||||
wxAppInitializerFunction wxApp::m_appInitFn = (wxAppInitializerFunction) NULL;
|
||||
|
||||
wxApp::wxApp(void)
|
||||
wxApp::wxApp()
|
||||
{
|
||||
m_topWindow = NULL;
|
||||
wxTheApp = this;
|
||||
@@ -677,13 +653,11 @@ wxApp::wxApp(void)
|
||||
#else
|
||||
m_printMode = wxPRINT_POSTSCRIPT;
|
||||
#endif
|
||||
// work_proc = NULL;
|
||||
m_exitOnFrameDelete = TRUE;
|
||||
// m_showOnInit = TRUE;
|
||||
m_auto3D = TRUE;
|
||||
}
|
||||
|
||||
bool wxApp::Initialized(void)
|
||||
bool wxApp::Initialized()
|
||||
{
|
||||
#ifndef _WINDLL
|
||||
if (GetTopWindow())
|
||||
@@ -701,7 +675,7 @@ bool wxApp::Initialized(void)
|
||||
* received.
|
||||
*
|
||||
*/
|
||||
bool wxApp::DoMessage(void)
|
||||
bool wxApp::DoMessage()
|
||||
{
|
||||
if (!::GetMessage(&s_currentMsg, (HWND) NULL, 0, 0))
|
||||
{
|
||||
@@ -732,7 +706,7 @@ bool wxApp::DoMessage(void)
|
||||
* are processed (it'll sit in DoMessage).
|
||||
*/
|
||||
|
||||
int wxApp::MainLoop(void)
|
||||
int wxApp::MainLoop()
|
||||
{
|
||||
m_keepGoing = TRUE;
|
||||
while (m_keepGoing)
|
||||
@@ -747,7 +721,7 @@ int wxApp::MainLoop(void)
|
||||
}
|
||||
|
||||
// Returns TRUE if more time is needed.
|
||||
bool wxApp::ProcessIdle(void)
|
||||
bool wxApp::ProcessIdle()
|
||||
{
|
||||
wxIdleEvent event;
|
||||
event.SetEventObject(this);
|
||||
@@ -756,17 +730,17 @@ bool wxApp::ProcessIdle(void)
|
||||
return event.MoreRequested();
|
||||
}
|
||||
|
||||
void wxApp::ExitMainLoop(void)
|
||||
void wxApp::ExitMainLoop()
|
||||
{
|
||||
m_keepGoing = FALSE;
|
||||
}
|
||||
|
||||
bool wxApp::Pending(void)
|
||||
bool wxApp::Pending()
|
||||
{
|
||||
return (::PeekMessage(&s_currentMsg, 0, 0, 0, PM_NOREMOVE) != 0) ;
|
||||
}
|
||||
|
||||
void wxApp::Dispatch(void)
|
||||
void wxApp::Dispatch()
|
||||
{
|
||||
if (!DoMessage())
|
||||
m_keepGoing = FALSE;
|
||||
@@ -834,7 +808,7 @@ void wxApp::OnIdle(wxIdleEvent& event)
|
||||
}
|
||||
|
||||
// Send idle event to all top-level windows
|
||||
bool wxApp::SendIdleEvents(void)
|
||||
bool wxApp::SendIdleEvents()
|
||||
{
|
||||
bool needMore = FALSE;
|
||||
wxNode* node = wxTopLevelWindows.First();
|
||||
@@ -873,7 +847,7 @@ bool wxApp::SendIdleEvents(wxWindow* win)
|
||||
return needMore ;
|
||||
}
|
||||
|
||||
void wxApp::DeletePendingObjects(void)
|
||||
void wxApp::DeletePendingObjects()
|
||||
{
|
||||
wxNode *node = wxPendingDelete.First();
|
||||
while (node)
|
||||
@@ -893,7 +867,7 @@ void wxApp::DeletePendingObjects(void)
|
||||
|
||||
/*
|
||||
// Free up font objects that are not being used at present.
|
||||
bool wxApp::DoResourceCleanup(void)
|
||||
bool wxApp::DoResourceCleanup()
|
||||
{
|
||||
// wxDebugMsg("ResourceCleanup\n");
|
||||
|
||||
@@ -945,12 +919,12 @@ bool wxApp::DoResourceCleanup(void)
|
||||
}
|
||||
*/
|
||||
|
||||
wxLog* wxApp::CreateLogTarget(void)
|
||||
wxLog* wxApp::CreateLogTarget()
|
||||
{
|
||||
return new wxLogGui;
|
||||
}
|
||||
|
||||
wxWindow* wxApp::GetTopWindow(void) const
|
||||
wxWindow* wxApp::GetTopWindow() const
|
||||
{
|
||||
if (m_topWindow)
|
||||
return m_topWindow;
|
||||
@@ -960,14 +934,57 @@ wxWindow* wxApp::GetTopWindow(void) const
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxExit(void)
|
||||
int wxApp::GetComCtl32Version() const
|
||||
{
|
||||
// have we loaded COMCTL32 yet?
|
||||
HMODULE theModule = ::GetModuleHandle("COMCTL32");
|
||||
int version = 0;
|
||||
|
||||
// if so, then we can check for the version
|
||||
if (theModule)
|
||||
{
|
||||
// InitCommonControlsEx is unique to 4.7 and later
|
||||
FARPROC theProc = ::GetProcAddress(theModule, "InitCommonControlsEx");
|
||||
|
||||
if (! theProc)
|
||||
{ // not found, must be 4.00
|
||||
version = 400;
|
||||
}
|
||||
else
|
||||
{
|
||||
// The following symbol are unique to 4.71
|
||||
// DllInstall
|
||||
// FlatSB_EnableScrollBar FlatSB_GetScrollInfo FlatSB_GetScrollPos
|
||||
// FlatSB_GetScrollProp FlatSB_GetScrollRange FlatSB_SetScrollInfo
|
||||
// FlatSB_SetScrollPos FlatSB_SetScrollProp FlatSB_SetScrollRange
|
||||
// FlatSB_ShowScrollBar
|
||||
// _DrawIndirectImageList _DuplicateImageList
|
||||
// InitializeFlatSB
|
||||
// UninitializeFlatSB
|
||||
// we could check for any of these - I chose DllInstall
|
||||
FARPROC theProc = ::GetProcAddress(theModule, "DllInstall");
|
||||
if (! theProc)
|
||||
{
|
||||
// not found, must be 4.70
|
||||
version = 470;
|
||||
}
|
||||
else
|
||||
{ // found, must be 4.71
|
||||
version = 471;
|
||||
}
|
||||
}
|
||||
}
|
||||
return version;
|
||||
}
|
||||
|
||||
void wxExit()
|
||||
{
|
||||
wxApp::CleanUp();
|
||||
FatalAppExit(0, "Fatal error: exiting");
|
||||
}
|
||||
|
||||
// Yield to incoming messages
|
||||
bool wxYield(void)
|
||||
bool wxYield()
|
||||
{
|
||||
MSG msg;
|
||||
// We want to go back to the main message loop
|
||||
|
@@ -852,113 +852,6 @@ void wxFrame::OnMenuHighlight(wxMenuEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
#if 0
|
||||
#if WXWIN_COMPATIBILITY
|
||||
void wxFrame::OldOnSize(int x, int y)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY == 1
|
||||
wxSizeEvent event(wxSize(x, y), m_windowId);
|
||||
event.SetEventObject( this );
|
||||
if (GetEventHandler()->ProcessEvent(event))
|
||||
return;
|
||||
#endif
|
||||
// Search for a child which is a subwindow, not another frame.
|
||||
wxWindow *child = NULL;
|
||||
// Count the number of _subwindow_ children
|
||||
int noChildren = 0;
|
||||
for(wxNode *node = GetChildren()->First(); node; node = node->Next())
|
||||
{
|
||||
wxWindow *win = (wxWindow *)node->Data();
|
||||
if (!win->IsKindOf(CLASSINFO(wxFrame)) && !win->IsKindOf(CLASSINFO(wxDialog)) && (win != GetStatusBar()))
|
||||
{
|
||||
child = win;
|
||||
noChildren ++;
|
||||
}
|
||||
}
|
||||
|
||||
// If not one child, call the Layout function if compiled in
|
||||
if (!child || (noChildren > 1)
|
||||
#if USE_CONSTRAINTS
|
||||
|| GetAutoLayout()
|
||||
#endif
|
||||
)
|
||||
{
|
||||
#if USE_CONSTRAINTS
|
||||
if (GetAutoLayout())
|
||||
Layout();
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
if (child)
|
||||
{
|
||||
int client_x, client_y;
|
||||
|
||||
#if DEBUG > 1
|
||||
wxDebugMsg("wxFrame::OnSize: about to set the child's size.\n");
|
||||
#endif
|
||||
|
||||
GetClientSize(&client_x, &client_y);
|
||||
child->SetSize(0, 0, client_x, client_y);
|
||||
}
|
||||
}
|
||||
|
||||
// Default activation behaviour - set the focus for the first child
|
||||
// subwindow found.
|
||||
void wxFrame::OldOnActivate(bool flag)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY == 1
|
||||
wxActivateEvent event(wxEVT_ACTIVATE, flag, m_windowId);
|
||||
event.SetEventObject( this );
|
||||
if (GetEventHandler()->ProcessEvent(event))
|
||||
return;
|
||||
#endif
|
||||
for(wxNode *node = GetChildren()->First(); node; node = node->Next())
|
||||
{
|
||||
// Find a child that's a subwindow, but not a dialog box.
|
||||
wxWindow *child = (wxWindow *)node->Data();
|
||||
if (!child->IsKindOf(CLASSINFO(wxFrame)) &&
|
||||
!child->IsKindOf(CLASSINFO(wxDialog)))
|
||||
{
|
||||
#if DEBUG > 1
|
||||
wxDebugMsg("wxFrame::OnActivate: about to set the child's focus.\n");
|
||||
#endif
|
||||
child->SetFocus();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Default menu selection behaviour - display a help string
|
||||
void wxFrame::OldOnMenuSelect(int id)
|
||||
{
|
||||
#if WXWIN_COMPATIBILITY == 1
|
||||
wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, id);
|
||||
event.SetEventObject( this );
|
||||
if (GetEventHandler()->ProcessEvent(event))
|
||||
return;
|
||||
#endif
|
||||
if (GetStatusBar())
|
||||
{
|
||||
if (id == -1)
|
||||
SetStatusText("");
|
||||
else
|
||||
{
|
||||
wxMenuBar *menuBar = GetMenuBar();
|
||||
if (menuBar)
|
||||
{
|
||||
wxString helpString(menuBar->GetHelpString(id));
|
||||
if (helpString != "")
|
||||
SetStatusText(helpString);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// 0
|
||||
|
||||
wxMenuBar *wxFrame::GetMenuBar(void) const
|
||||
{
|
||||
return m_frameMenuBar;
|
||||
|
@@ -45,6 +45,13 @@
|
||||
#include "wx/app.h"
|
||||
#include "wx/msw/private.h"
|
||||
|
||||
#ifndef TBSTYLE_FLAT
|
||||
#define TBSTYLE_LIST 0x1000
|
||||
#define TBSTYLE_FLAT 0x0800
|
||||
#define TBSTYLE_TRANSPARENT 0x8000
|
||||
#endif
|
||||
// use TBSTYLE_TRANSPARENT if you use TBSTYLE_FLAT
|
||||
|
||||
#if !USE_SHARED_LIBRARY
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxToolBar95, wxToolBarBase)
|
||||
|
||||
@@ -123,12 +130,19 @@ bool wxToolBar95::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, co
|
||||
y = 0;
|
||||
|
||||
m_windowId = (id < 0 ? NewControlId() : id);
|
||||
DWORD msStyle = WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS;
|
||||
|
||||
if (style & wxTB_FLAT)
|
||||
{
|
||||
if (wxTheApp->GetComCtl32Version() > 400)
|
||||
msStyle |= TBSTYLE_FLAT;
|
||||
}
|
||||
|
||||
// Create the toolbar control.
|
||||
HWND hWndToolbar = CreateWindowEx(0L, // No extended styles.
|
||||
TOOLBARCLASSNAME, // Class name for the toolbar.
|
||||
"", // No default text.
|
||||
WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS, // Styles and defaults.
|
||||
msStyle, // Styles and defaults.
|
||||
x, y, width, height, // Standard toolbar size and position.
|
||||
(HWND) parent->GetHWND(), // Parent window of the toolbar.
|
||||
(HMENU)m_windowId, // Toolbar ID.
|
||||
|
@@ -1668,10 +1668,6 @@ void wxWindow::MSWOnMenuHighlight(WXWORD WXUNUSED(item), WXWORD WXUNUSED(flags),
|
||||
|
||||
void wxWindow::MSWOnInitMenuPopup(WXHMENU menu, int pos, bool isSystem)
|
||||
{
|
||||
/*
|
||||
if (!isSystem)
|
||||
OldOnInitMenuPopup(pos);
|
||||
*/
|
||||
}
|
||||
|
||||
bool wxWindow::MSWOnActivate(int state, bool WXUNUSED(minimized), WXHWND WXUNUSED(activate))
|
||||
@@ -3592,54 +3588,6 @@ WXDWORD wxWindow::Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D)
|
||||
return exStyle;
|
||||
}
|
||||
|
||||
/*
|
||||
#if WXWIN_COMPATIBILITY
|
||||
void wxWindow::OldOnPaint(void)
|
||||
{
|
||||
wxPaintEvent event(m_windowId);
|
||||
event.m_eventObject = this;
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
|
||||
void wxWindow::OldOnSize(int w, int h)
|
||||
{
|
||||
wxSizeEvent event(wxSize(w, h), m_windowId);
|
||||
event.m_eventObject = this;
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
|
||||
void wxWindow::OldOnMouseEvent(wxMouseEvent& event)
|
||||
{
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
|
||||
void wxWindow::OldOnChar(wxKeyEvent& event)
|
||||
{
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
|
||||
void wxWindow::OldOnSetFocus(void)
|
||||
{
|
||||
wxFocusEvent event(wxEVT_SET_FOCUS, m_windowId);
|
||||
event.m_eventObject = this;
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
|
||||
void wxWindow::OldOnKillFocus(void)
|
||||
{
|
||||
wxFocusEvent event(wxEVT_KILL_FOCUS, m_windowId);
|
||||
event.m_eventObject = this;
|
||||
if (!GetEventHandler()->ProcessEvent(event))
|
||||
Default();
|
||||
};
|
||||
#endif
|
||||
*/
|
||||
|
||||
void wxWindow::OnChar(wxKeyEvent& event)
|
||||
{
|
||||
bool isVirtual;
|
||||
|
Reference in New Issue
Block a user