]> git.saurik.com Git - wxWidgets.git/commitdiff
New classes for OS/2 and compiler warning suppressions
authorDavid Webster <Dave.Webster@bhmi.com>
Thu, 7 Apr 2005 04:08:43 +0000 (04:08 +0000)
committerDavid Webster <Dave.Webster@bhmi.com>
Thu, 7 Apr 2005 04:08:43 +0000 (04:08 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/os2/control.cpp
src/os2/dataobj.cpp
src/os2/dc.cpp
src/os2/display.cpp [new file with mode: 0644]
src/os2/dnd.cpp
src/os2/tglbtn.cpp [new file with mode: 0644]

index df264fae88b6165880066ef0dcb168eea57b2d62..d515341c841da76459306c02b6f3fd79139dc08b 100644 (file)
@@ -115,7 +115,7 @@ bool wxControl::OS2CreateControl(
         dwStyle |= WS_VISIBLE;
 
     wxWindow*                       pParent = GetParent();
-    PSZ                             zClass;
+    PSZ                             zClass = "";
 
     if (!pParent)
         return FALSE;
index 9c94fc10e44fd812d2f3bc6cd85e2df799fc65dc..880095708b357858a7e65f9743f0eb62cefe582a 100644 (file)
@@ -158,7 +158,7 @@ void CIDataObject::SetData (
 , char*                             pzBuffer
 )
 {
-    ULONG                           ulSize;
+    ULONG                           ulSize = 0;
 
     switch (rFormat.GetType())
     {
index 56f4dacc081eccc61f98197f5add4a86e7a7e844..092efc360ccd6bde904beaf0b54a882a79773b8d 100644 (file)
@@ -1304,7 +1304,7 @@ void wxDC::DoDrawBitmap(
     if (!IsKindOf(CLASSINFO(wxPrinterDC)))
     {
         HBITMAP                         hBitmap =  (HBITMAP)rBmp.GetHBITMAP();
-        HBITMAP                         hBitmapOld;
+        HBITMAP                         hBitmapOld = NULLHANDLE;;
         POINTL                          vPoint[4];
 
         vY = OS2Y(vY,rBmp.GetHeight());
@@ -2842,8 +2842,8 @@ void wxDC::DoGetSizeMM(
 wxSize wxDC::GetPPI() const
 {
     LONG                            lArray[CAPS_VERTICAL_RESOLUTION];
-    int                             nWidth;
-    int                             nHeight;
+    int                             nWidth = 0;
+    int                             nHeight = 0;
 
     if(::DevQueryCaps( m_hDC
                       ,CAPS_FAMILY
diff --git a/src/os2/display.cpp b/src/os2/display.cpp
new file mode 100644 (file)
index 0000000..3a92272
--- /dev/null
@@ -0,0 +1,91 @@
+///////////////////////////////////////////////////////////////////////////
+// Name:        displayx11.cpp
+// Purpose:     Unix/X11 implementation of wxDisplay class
+// Author:      Brian Victor
+// Modified by:
+// Created:     12/05/02
+// RCS-ID:      $Id$
+// Copyright:   (c) wxWidgets team
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+    #pragma implementation "display.h"
+#endif
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+  #pragma hdrstop
+#endif
+
+#include "wx/display.h"
+#include "wx/intl.h"
+#include "wx/log.h"
+
+#ifndef WX_PRECOMP
+  #include "wx/dynarray.h"
+  #include "wx/gdicmn.h"
+  #include "wx/string.h"
+  #include "wx/utils.h"
+#endif /* WX_PRECOMP */
+
+#if wxUSE_DISPLAY
+
+size_t wxDisplayBase::GetCount()
+{
+    return 1;
+}
+
+int wxDisplayBase::GetFromPoint(const wxPoint &p)
+{
+    return -1;
+}
+
+wxDisplay::wxDisplay(size_t index) 
+: wxDisplayBase ( index )
+{
+}
+
+wxDisplay::~wxDisplay()
+{
+}
+
+wxRect wxDisplay::GetGeometry() const
+{
+    wxRect         vRect(0,0,0,0);
+
+    return vRect;
+}
+
+int wxDisplay::GetDepth() const
+{
+  return 24;
+}
+
+wxString wxDisplay::GetName() const
+{
+  return wxEmptyString;
+}
+
+
+wxArrayVideoModes wxDisplay::GetModes(const wxVideoMode& mode) const
+{
+  wxArrayVideoModes modes;
+  return modes;
+}
+
+wxVideoMode wxDisplay::GetCurrentMode() const
+{
+    // Not implemented
+    return wxVideoMode();
+}
+
+bool wxDisplay::ChangeMode(const wxVideoMode& mode)
+{
+    // Not implemented
+    return false;
+}
+
+#endif /* wxUSE_DISPLAY */
index b12b6af4bbb0c3d5e4e9f1ca2c1c1038c56b97ad..02cbfdd23fa9447b571bc98837c71e56877d0032 100644 (file)
@@ -127,7 +127,7 @@ MRESULT CIDropTarget::DragOver ()
 {
     char                            zBuffer[128];
     ULONG                           ulBytes;
-    USHORT                          uOp;
+    USHORT                          uOp = 0;
     USHORT                          uIndicator;
     ULONG                           ulItems;
     ULONG                           i;
@@ -197,7 +197,7 @@ MRESULT CIDropTarget::Drop ()
 {
     char                            zBuffer[128];
     ULONG                           ulBytes;
-    USHORT                          uOp;
+    USHORT                          uOp = 0;
     USHORT                          uIndicator;
     ULONG                           ulItems;
     ULONG                           i;
@@ -250,7 +250,7 @@ MRESULT CIDropTarget::Drop ()
                           ,m_pDragInfo->yDrop
                          ))
     {
-        wxDragResult                 eRc;
+        wxDragResult                 eRc = wxDragNone;;
 
         //
         // And now it has the data
diff --git a/src/os2/tglbtn.cpp b/src/os2/tglbtn.cpp
new file mode 100644 (file)
index 0000000..a262a3a
--- /dev/null
@@ -0,0 +1,157 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        src/msw/tglbtn.cpp
+// Purpose:     Definition of the wxToggleButton class, which implements a
+//              toggle button under wxMSW.
+// Author: John Norris, minor changes by Axel Schlueter
+// and William Gallafent.
+// Modified by:
+// Created:     08.02.01
+// RCS-ID:      $Id$
+// Copyright:   (c) 2000 Johnny C. Norris II
+// License:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declatations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#include "wx/tglbtn.h"
+
+#if wxUSE_TOGGLEBTN
+
+#ifndef WX_PRECOMP
+    #include "wx/button.h"
+    #include "wx/brush.h"
+    #include "wx/dcscreen.h"
+    #include "wx/settings.h"
+
+    #include "wx/log.h"
+#endif // WX_PRECOMP
+
+#include "wx/msw/private.h"
+
+// ----------------------------------------------------------------------------
+// macros
+// ----------------------------------------------------------------------------
+
+IMPLEMENT_DYNAMIC_CLASS(wxToggleButton, wxControl)
+DEFINE_EVENT_TYPE(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED)
+
+#define BUTTON_HEIGHT_FROM_CHAR_HEIGHT(cy) (11*EDIT_HEIGHT_FROM_CHAR_HEIGHT(cy)/10)
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// wxToggleButton
+// ----------------------------------------------------------------------------
+
+bool wxToggleButton::OS2Command(WXUINT WXUNUSED(param), WXWORD WXUNUSED(id))
+{
+   wxCommandEvent event(wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, m_windowId);
+   event.SetInt(GetValue());
+   event.SetEventObject(this);
+   ProcessCommand(event);
+   return true;
+}
+
+// Single check box item
+bool wxToggleButton::Create(wxWindow *parent, wxWindowID id,
+                            const wxString& label,
+                            const wxPoint& pos,
+                            const wxSize& size, long style,
+                            const wxValidator& validator,
+                            const wxString& name)
+{
+    if ( !CreateControl(parent, id, pos, size, style, validator, name) )
+        return false;
+
+    if ( !OS2CreateControl(wxT("BUTTON"), label, pos, size, 0) )
+      return false;
+
+    return true;
+}
+
+wxBorder wxToggleButton::GetDefaultBorder() const
+{
+    return wxBORDER_NONE;
+}
+
+WXDWORD wxToggleButton::OS2GetStyle(long style, WXDWORD *exstyle) const
+{
+    WXDWORD msStyle = wxControl::OS2GetStyle(style, exstyle);
+
+#ifndef BS_PUSHLIKE
+#define BS_PUSHLIKE 0x00001000L
+#endif
+
+    msStyle |= BS_AUTOCHECKBOX | BS_PUSHLIKE | WS_TABSTOP;
+
+    return msStyle;
+}
+
+wxSize wxToggleButton::DoGetBestSize() const
+{
+   wxString                         label = wxGetWindowText(GetHWND());
+   int                              wBtn;
+   wxFont                           vFont =  GetFont();
+   int                              wChar;
+   int                              hChar;
+
+   GetTextExtent(label, &wBtn, NULL);
+
+
+   wxGetCharSize(GetHWND(), &wChar, &hChar, &vFont);
+
+   // add a margin - the button is wider than just its label
+   wBtn += 3*wChar;
+
+   // the button height is proportional to the height of the font used
+   int hBtn = BUTTON_HEIGHT_FROM_CHAR_HEIGHT(hChar);
+
+#if wxUSE_BUTTON
+   wxSize sz = wxButton::GetDefaultSize();
+   if (wBtn > sz.x)
+       sz.x = wBtn;
+   if (hBtn > sz.y)
+       sz.y = hBtn;
+#else
+   wxSize sz(wBtn, hBtn);
+#endif
+
+   return sz;
+}
+
+void wxToggleButton::SetValue(bool val)
+{
+   ::WinSendMsg(GetHwnd(), BM_SETCHECK, MPFROMSHORT(val), (MPARAM)0);
+}
+
+#ifndef BST_CHECKED
+#define BST_CHECKED 0x0001
+#endif
+
+bool wxToggleButton::GetValue() const
+{
+   return (::WinSendMsg(GetHwnd(), BM_QUERYCHECK, 0, 0) == (MRESULT)BST_CHECKED);
+}
+
+void wxToggleButton::Command(wxCommandEvent & event)
+{
+   SetValue((event.GetInt() != 0));
+   ProcessCommand(event);
+}
+
+#endif // wxUSE_TOGGLEBTN
+