]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/frame.cpp
Doesn't reset the stream pos to 0 in CanRead().
[wxWidgets.git] / src / motif / frame.cpp
index c18c7de83f97b1d366ceb27133fba229cc41c101..d0f167c9bb1a59509eb2099928540ca84d4291c6 100644 (file)
@@ -24,6 +24,9 @@
 #include "wx/app.h"
 #include "wx/utils.h"
 
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
 #if defined(__ultrix) || defined(__sgi)
 #include <Xm/Frame.h>
 #endif
@@ -47,6 +50,9 @@
 #if   XmVersion > 1000
 #include <Xm/Protocols.h>
 #endif
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
 
 #include "wx/motif/private.h"
 
@@ -64,7 +70,7 @@ extern wxList wxPendingDelete;
 static bool wxTopLevelUsed = FALSE;
 
 #if !USE_SHARED_LIBRARY
-BEGIN_EVENT_TABLE(wxFrame, wxWindowBase)
+BEGIN_EVENT_TABLE(wxFrame, wxWindow)
   EVT_SIZE(wxFrame::OnSize)
   EVT_ACTIVATE(wxFrame::OnActivate)
   EVT_MENU_HIGHLIGHT_ALL(wxFrame::OnMenuHighlight)
@@ -73,7 +79,7 @@ BEGIN_EVENT_TABLE(wxFrame, wxWindowBase)
   EVT_CLOSE(wxFrame::OnCloseWindow)
 END_EVENT_TABLE()
 
-IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindowBase)
+IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
 #endif
 
 #if wxUSE_NATIVE_STATUSBAR
@@ -146,14 +152,16 @@ bool wxFrame::Create(wxWindow *parent,
 
     int x = pos.x, y = pos.y;
     int width = size.x, height = size.y;
-    
-    // Set reasonable values for position and size if defaults have
-    // been requested 
-    // 
-    // MB TODO: something better than these arbitrary values ?
+
+    // Set reasonable values for position and size if defaults have been
+    // requested
     //
-    if ( width == -1 ) width = 400;
-    if ( height = -1 ) height = 400;
+    // MB TODO: something better than these arbitrary values ?
+    // VZ       should use X resources for this...
+    if ( width == -1 )
+        width = 400;
+    if ( height == -1 )
+        height = 400;
 
     int displayW, displayH;
     wxDisplaySize( &displayW, &displayH );
@@ -166,9 +174,9 @@ bool wxFrame::Create(wxWindow *parent,
     if ( y == -1 )
     {
         y = (displayH - height) / 2;
-        if (y < 10) y = 10;        
+        if (y < 10) y = 10;
     }
-        
+
     if (wxTopLevelUsed)
     {
         // Change suggested by Matthew Flatt
@@ -323,7 +331,7 @@ bool wxFrame::Create(wxWindow *parent,
 wxFrame::~wxFrame()
 {
     m_isBeingDeleted = TRUE;
-    
+
     if (m_clientArea)
       XtRemoveEventHandler((Widget) m_clientArea, ExposureMask, FALSE,
           wxUniversalRepaintProc, (XtPointer) this);
@@ -398,7 +406,7 @@ wxFrame::~wxFrame()
 }
 
 // Get size *available for subwindows* i.e. excluding menu bar, toolbar etc.
-void wxFrame::GetClientSize(int *x, int *y) const
+void wxFrame::DoGetClientSize(int *x, int *y) const
 {
     Dimension xx, yy;
     XtVaGetValues((Widget) m_workArea, XmNwidth, &xx, XmNheight, &yy, NULL);
@@ -486,14 +494,14 @@ void wxFrame::DoSetClientSize(int width, int height)
 
 }
 
-void wxFrame::GetSize(int *width, int *height) const
+void wxFrame::DoGetSize(int *width, int *height) const
 {
     Dimension xx, yy;
     XtVaGetValues((Widget) m_frameShell, XmNwidth, &xx, XmNheight, &yy, NULL);
     *width = xx; *height = yy;
 }
 
-void wxFrame::GetPosition(int *x, int *y) const
+void wxFrame::DoGetPosition(int *x, int *y) const
 {
     Window parent_window = XtWindow((Widget) m_frameShell),
         next_parent   = XtWindow((Widget) m_frameShell),
@@ -515,7 +523,7 @@ void wxFrame::GetPosition(int *x, int *y) const
     if (y) *y = yy;
 }
 
-void wxFrame::DoSetSize(int x, int y, int width, int height, int sizeFlags)
+void wxFrame::DoSetSize(int x, int y, int width, int height, int WXUNUSED(sizeFlags))
 {
     if (x > -1)
         XtVaSetValues((Widget) m_frameShell, XmNx, x, NULL);
@@ -765,7 +773,7 @@ void wxFrame::OnSysColourChanged(wxSysColourChangedEvent& event)
 
 // Default resizing behaviour - if only ONE subwindow,
 // resize to client rectangle size
-void wxFrame::OnSize(wxSizeEvent& event)
+void wxFrame::OnSize(wxSizeEvent& WXUNUSED(event))
 {
     // if we're using constraints - do use them
 #if wxUSE_CONSTRAINTS
@@ -810,6 +818,9 @@ void wxFrame::OnSize(wxSizeEvent& event)
 // subwindow found.
 void wxFrame::OnActivate(wxActivateEvent& event)
 {
+    if (!event.GetActive())
+        return;
+
     for(wxNode *node = GetChildren().First(); node; node = node->Next())
     {
         // Find a child that's a subwindow, but not a dialog box.
@@ -826,11 +837,19 @@ void wxFrame::OnActivate(wxActivateEvent& event)
 // The default implementation for the close window event.
 // OnClose for backward compatibility.
 
-void wxFrame::OnCloseWindow(wxCloseEvent& event)
+void wxFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
 {
     this->Destroy();
 }
 
+#ifdef __VMS__
+// I added this function because I got missing symbols when linking
+// Maybe it should be included on all platforms. But what should it do?
+void wxFrame::OnIdle(wxIdleEvent& WXUNUSED(event))
+{
+}
+#endif
+
 // Destroy the window (delayed, if a managed window)
 bool wxFrame::Destroy()
 {
@@ -1072,8 +1091,8 @@ void wxFrame::Lower(void)
     XLowerWindow(XtDisplay((Widget) m_frameShell), parent_window);
 }
 
-void wxFrameFocusProc(Widget workArea, XtPointer clientData,
-                      XmAnyCallbackStruct *cbs)
+void wxFrameFocusProc(Widget WXUNUSED(workArea), XtPointer WXUNUSED(clientData),
+                      XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     // wxDebugMsg("focus proc from frame %ld\n",(long)frame);
     // TODO
@@ -1121,7 +1140,7 @@ WXWidget wxFrame::GetClientWidget() const
     return m_clientArea;
 }
 
-void wxFrame::ChangeFont(bool keepOriginalSize)
+void wxFrame::ChangeFont(bool WXUNUSED(keepOriginalSize))
 {
     // TODO
 }
@@ -1138,7 +1157,7 @@ void wxFrame::ChangeForegroundColour()
         DoChangeForegroundColour(GetClientWidget(), m_foregroundColour);
 }
 
-void wxCloseFrameCallback(Widget widget, XtPointer client_data, XmAnyCallbackStruct *cbs)
+void wxCloseFrameCallback(Widget WXUNUSED(widget), XtPointer client_data, XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     wxFrame *frame = (wxFrame *)client_data;