From: David Webster Date: Thu, 7 Apr 2005 04:08:43 +0000 (+0000) Subject: New classes for OS/2 and compiler warning suppressions X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/322d45dd738f8fbbc6cb17379a28c308c6e3bd72 New classes for OS/2 and compiler warning suppressions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/os2/control.cpp b/src/os2/control.cpp index df264fae88..d515341c84 100644 --- a/src/os2/control.cpp +++ b/src/os2/control.cpp @@ -115,7 +115,7 @@ bool wxControl::OS2CreateControl( dwStyle |= WS_VISIBLE; wxWindow* pParent = GetParent(); - PSZ zClass; + PSZ zClass = ""; if (!pParent) return FALSE; diff --git a/src/os2/dataobj.cpp b/src/os2/dataobj.cpp index 9c94fc10e4..880095708b 100644 --- a/src/os2/dataobj.cpp +++ b/src/os2/dataobj.cpp @@ -158,7 +158,7 @@ void CIDataObject::SetData ( , char* pzBuffer ) { - ULONG ulSize; + ULONG ulSize = 0; switch (rFormat.GetType()) { diff --git a/src/os2/dc.cpp b/src/os2/dc.cpp index 56f4dacc08..092efc360c 100644 --- a/src/os2/dc.cpp +++ b/src/os2/dc.cpp @@ -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 index 0000000000..3a92272428 --- /dev/null +++ b/src/os2/display.cpp @@ -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 */ diff --git a/src/os2/dnd.cpp b/src/os2/dnd.cpp index b12b6af4bb..02cbfdd23f 100644 --- a/src/os2/dnd.cpp +++ b/src/os2/dnd.cpp @@ -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 index 0000000000..a262a3a185 --- /dev/null +++ b/src/os2/tglbtn.cpp @@ -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 +