Additions to wxTime; always inits OLE now in wxMSW
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1131 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -271,6 +271,38 @@ secondTy wxTime::GetSecond() const
|
|||||||
return (secondTy)(((sec % 86400) % 3600) % 60);
|
return (secondTy)(((sec % 86400) % 3600) % 60);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
secondTy wxTime::GetSecondGMT() const
|
||||||
|
/*
|
||||||
|
Return the minute of this wxTime in GMT.
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
return (secondTy)(((sec % 86400) % 3600) % 60);
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxTime::GetDay() const
|
||||||
|
{
|
||||||
|
wxDate da((wxDate) *this);
|
||||||
|
return da.GetDay();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxTime::GetDayOfWeek() const
|
||||||
|
{
|
||||||
|
wxDate da((wxDate) *this);
|
||||||
|
return da.GetDayOfWeek();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxTime::GetMonth() const
|
||||||
|
{
|
||||||
|
wxDate da((wxDate) *this);
|
||||||
|
return da.GetMonth();
|
||||||
|
}
|
||||||
|
|
||||||
|
int wxTime::GetYear() const
|
||||||
|
{
|
||||||
|
wxDate da((wxDate) *this);
|
||||||
|
return da.GetYear();
|
||||||
|
}
|
||||||
|
|
||||||
wxTime wxTime::Max(const wxTime& t) const
|
wxTime wxTime::Max(const wxTime& t) const
|
||||||
{
|
{
|
||||||
if (t < *this) return *this;
|
if (t < *this) return *this;
|
||||||
|
107
src/msw/app.cpp
107
src/msw/app.cpp
@@ -117,34 +117,34 @@ long wxApp::sm_lastMessageTime = 0;
|
|||||||
|
|
||||||
bool wxApp::Initialize()
|
bool wxApp::Initialize()
|
||||||
{
|
{
|
||||||
wxBuffer = new char[1500];
|
wxBuffer = new char[1500];
|
||||||
|
|
||||||
#ifdef wxUSE_VC_CRTDBG
|
#ifdef wxUSE_VC_CRTDBG
|
||||||
// do check for memory leaks on program exit
|
// do check for memory leaks on program exit
|
||||||
// (another useful flag is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free
|
// (another useful flag is _CRTDBG_DELAY_FREE_MEM_DF which doesn't free
|
||||||
// deallocated memory which may be used to simulate low-memory condition)
|
// deallocated memory which may be used to simulate low-memory condition)
|
||||||
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
|
_CrtSetDbgFlag(_CrtSetDbgFlag(_CRTDBG_REPORT_FLAG) | _CRTDBG_LEAK_CHECK_DF);
|
||||||
#endif // debug build under MS VC++
|
#endif // debug build under MS VC++
|
||||||
|
|
||||||
wxClassInfo::InitializeClasses();
|
wxClassInfo::InitializeClasses();
|
||||||
|
|
||||||
#if wxUSE_RESOURCES
|
#if wxUSE_RESOURCES
|
||||||
wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
|
wxGetResource("wxWindows", "OsVersion", &wxOsVersion);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
|
wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
|
||||||
wxTheColourDatabase->Initialize();
|
wxTheColourDatabase->Initialize();
|
||||||
|
|
||||||
wxInitializeStockLists();
|
wxInitializeStockLists();
|
||||||
wxInitializeStockObjects();
|
wxInitializeStockObjects();
|
||||||
|
|
||||||
#if wxUSE_WX_RESOURCES
|
#if wxUSE_WX_RESOURCES
|
||||||
wxInitializeResourceSystem();
|
wxInitializeResourceSystem();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxBitmap::InitStandardHandlers();
|
wxBitmap::InitStandardHandlers();
|
||||||
|
|
||||||
#if defined(__WIN95__)
|
#if defined(__WIN95__)
|
||||||
InitCommonControls();
|
InitCommonControls();
|
||||||
gs_hRichEdit = LoadLibrary("RICHED32.DLL");
|
gs_hRichEdit = LoadLibrary("RICHED32.DLL");
|
||||||
|
|
||||||
@@ -152,60 +152,75 @@ bool wxApp::Initialize()
|
|||||||
{
|
{
|
||||||
wxMessageBox("Could not initialise Rich Edit DLL");
|
wxMessageBox("Could not initialise Rich Edit DLL");
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WX_DRAG_DROP)
|
int iMsg = 96;
|
||||||
|
|
||||||
|
// for OLE, enlarge message queue to be as large as possible
|
||||||
|
while (!SetMessageQueue(iMsg) && (iMsg -= 8));
|
||||||
|
|
||||||
|
/*
|
||||||
|
DWORD dwOleVer;
|
||||||
|
dwOleVer = CoBuildVersion();
|
||||||
|
|
||||||
|
// check the OLE library version
|
||||||
|
if (rmm != HIWORD(dwOleVer))
|
||||||
|
{
|
||||||
|
wxMessageBox("Incorrect version of OLE libraries.");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
// we need to initialize OLE library
|
// we need to initialize OLE library
|
||||||
if ( FAILED(::OleInitialize(NULL)) )
|
if ( FAILED(::OleInitialize(NULL)) )
|
||||||
wxFatalError(_("Cannot initialize OLE"));
|
wxFatalError(_("Cannot initialize OLE"));
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CTL3D
|
#if CTL3D
|
||||||
if (!Ctl3dRegister(wxhInstance))
|
if (!Ctl3dRegister(wxhInstance))
|
||||||
wxFatalError("Cannot register CTL3D");
|
wxFatalError("Cannot register CTL3D");
|
||||||
|
|
||||||
Ctl3dAutoSubclass(wxhInstance);
|
Ctl3dAutoSubclass(wxhInstance);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
g_globalCursor = new wxCursor;
|
g_globalCursor = new wxCursor;
|
||||||
|
|
||||||
wxSTD_FRAME_ICON = LoadIcon(wxhInstance, "wxSTD_FRAME");
|
wxSTD_FRAME_ICON = LoadIcon(wxhInstance, "wxSTD_FRAME");
|
||||||
wxSTD_MDIPARENTFRAME_ICON = LoadIcon(wxhInstance, "wxSTD_MDIPARENTFRAME");
|
wxSTD_MDIPARENTFRAME_ICON = LoadIcon(wxhInstance, "wxSTD_MDIPARENTFRAME");
|
||||||
wxSTD_MDICHILDFRAME_ICON = LoadIcon(wxhInstance, "wxSTD_MDICHILDFRAME");
|
wxSTD_MDICHILDFRAME_ICON = LoadIcon(wxhInstance, "wxSTD_MDICHILDFRAME");
|
||||||
|
|
||||||
wxDEFAULT_FRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_FRAME");
|
wxDEFAULT_FRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_FRAME");
|
||||||
wxDEFAULT_MDIPARENTFRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_MDIPARENTFRAME");
|
wxDEFAULT_MDIPARENTFRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_MDIPARENTFRAME");
|
||||||
wxDEFAULT_MDICHILDFRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_MDICHILDFRAME");
|
wxDEFAULT_MDICHILDFRAME_ICON = LoadIcon(wxhInstance, "wxDEFAULT_MDICHILDFRAME");
|
||||||
|
|
||||||
RegisterWindowClasses();
|
RegisterWindowClasses();
|
||||||
|
|
||||||
// Create the brush for disabling bitmap buttons
|
// Create the brush for disabling bitmap buttons
|
||||||
|
|
||||||
LOGBRUSH lb ;
|
LOGBRUSH lb ;
|
||||||
lb.lbStyle = BS_PATTERN;
|
lb.lbStyle = BS_PATTERN;
|
||||||
lb.lbHatch = (int)LoadBitmap( wxhInstance, "wxDISABLE_BUTTON_BITMAP" ) ;
|
lb.lbHatch = (int)LoadBitmap( wxhInstance, "wxDISABLE_BUTTON_BITMAP" ) ;
|
||||||
wxDisableButtonBrush = ::CreateBrushIndirect( & lb ) ;
|
wxDisableButtonBrush = ::CreateBrushIndirect( & lb ) ;
|
||||||
::DeleteObject( (HGDIOBJ)lb.lbHatch ) ;
|
::DeleteObject( (HGDIOBJ)lb.lbHatch ) ;
|
||||||
|
|
||||||
#if wxUSE_PENWINDOWS
|
#if wxUSE_PENWINDOWS
|
||||||
wxRegisterPenWin();
|
wxRegisterPenWin();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxWinHandleList = new wxList(wxKEY_INTEGER);
|
wxWinHandleList = new wxList(wxKEY_INTEGER);
|
||||||
|
|
||||||
// This is to foil optimizations in Visual C++ that
|
// This is to foil optimizations in Visual C++ that
|
||||||
// throw out dummy.obj.
|
// throw out dummy.obj.
|
||||||
#if (_MSC_VER >= 800) && !defined(WXMAKINGDLL)
|
#if (_MSC_VER >= 800) && !defined(WXMAKINGDLL)
|
||||||
extern char wxDummyChar;
|
extern char wxDummyChar;
|
||||||
if (wxDummyChar) wxDummyChar++;
|
if (wxDummyChar) wxDummyChar++;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxSetKeyboardHook(TRUE);
|
wxSetKeyboardHook(TRUE);
|
||||||
|
|
||||||
wxModule::RegisterModules();
|
wxModule::RegisterModules();
|
||||||
if (!wxModule::InitializeModules())
|
if (!wxModule::InitializeModules())
|
||||||
return FALSE;
|
return FALSE;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
//// RegisterWindowClasses
|
//// RegisterWindowClasses
|
||||||
@@ -471,9 +486,7 @@ void wxApp::CleanUp()
|
|||||||
if ( wxDisableButtonBrush )
|
if ( wxDisableButtonBrush )
|
||||||
::DeleteObject( wxDisableButtonBrush ) ;
|
::DeleteObject( wxDisableButtonBrush ) ;
|
||||||
|
|
||||||
#if defined(WX_DRAG_DROP)
|
|
||||||
::OleUninitialize();
|
::OleUninitialize();
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CTL3D
|
#if CTL3D
|
||||||
Ctl3dUnregister(wxhInstance);
|
Ctl3dUnregister(wxhInstance);
|
||||||
|
@@ -239,6 +239,9 @@ MSWOBJS = \
|
|||||||
$(MSWDIR)\dataobj.obj \
|
$(MSWDIR)\dataobj.obj \
|
||||||
$(MSWDIR)\uuid.obj
|
$(MSWDIR)\uuid.obj
|
||||||
|
|
||||||
|
# Unfortunately this causes a crash when the oleauto sample starts.
|
||||||
|
# $(MSWDIR)\automtn.obj
|
||||||
|
|
||||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||||
|
|
||||||
default: wx
|
default: wx
|
||||||
@@ -456,6 +459,8 @@ $(MSWDIR)\oleutils.obj: $(OLEDIR)\oleutils.$(SRCSUFF)
|
|||||||
|
|
||||||
$(MSWDIR)\uuid.obj: $(OLEDIR)\uuid.$(SRCSUFF)
|
$(MSWDIR)\uuid.obj: $(OLEDIR)\uuid.$(SRCSUFF)
|
||||||
|
|
||||||
|
$(MSWDIR)\automtn.obj: $(OLEDIR)\automtn.$(SRCSUFF)
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
# Common objects (always compiled)
|
# Common objects (always compiled)
|
||||||
|
|
||||||
|
@@ -228,7 +228,8 @@ MSWOBJS = \
|
|||||||
# $(OLEDIR)/dropsrc.$(OBJSUFF) \
|
# $(OLEDIR)/dropsrc.$(OBJSUFF) \
|
||||||
# $(OLEDIR)/dataobj.$(OBJSUFF) \
|
# $(OLEDIR)/dataobj.$(OBJSUFF) \
|
||||||
# $(OLEDIR)/oleutils.$(OBJSUFF) \
|
# $(OLEDIR)/oleutils.$(OBJSUFF) \
|
||||||
# $(OLEDIR)/uuid.$(OBJSUFF)
|
# $(OLEDIR)/uuid.$(OBJSUFF) \
|
||||||
|
# $(OLEDIR)/automtn.$(OBJSUFF)
|
||||||
|
|
||||||
XPMOBJECTS = $(XPMDIR)/crbuffri.o\
|
XPMOBJECTS = $(XPMDIR)/crbuffri.o\
|
||||||
$(XPMDIR)/crdatfri.o\
|
$(XPMDIR)/crdatfri.o\
|
||||||
|
@@ -219,7 +219,8 @@ MSWOBJS = \
|
|||||||
$(OLEDIR)\dropsrc.obj \
|
$(OLEDIR)\dropsrc.obj \
|
||||||
$(OLEDIR)\dataobj.obj \
|
$(OLEDIR)\dataobj.obj \
|
||||||
$(OLEDIR)\oleutils.obj \
|
$(OLEDIR)\oleutils.obj \
|
||||||
$(OLEDIR)\uuid.obj
|
$(OLEDIR)\uuid.obj \
|
||||||
|
$(OLEDIR)\automtn.obj
|
||||||
|
|
||||||
XPMOBJECTS = $(XPMDIR)\crbuffri.obj\
|
XPMOBJECTS = $(XPMDIR)\crbuffri.obj\
|
||||||
$(XPMDIR)\crdatfri.obj\
|
$(XPMDIR)\crdatfri.obj\
|
||||||
@@ -739,6 +740,12 @@ $(OLEDIR)/uuid.obj: $*.$(SRCSUFF)
|
|||||||
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
<<
|
<<
|
||||||
|
|
||||||
|
$(OLEDIR)/automtn.obj: $*.$(SRCSUFF)
|
||||||
|
echo $(CPPFLAGS)
|
||||||
|
cl @<<
|
||||||
|
$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
|
||||||
|
<<
|
||||||
|
|
||||||
########################################################
|
########################################################
|
||||||
# Common objects (always compiled)
|
# Common objects (always compiled)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user