OS/2 scrolling support for controls

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-01-07 00:49:10 +00:00
parent bdb2ce96bb
commit 5d44b24ee6
19 changed files with 772 additions and 1068 deletions
+9
View File
@@ -70,6 +70,15 @@ bool wxButton::Create(
//
if (m_windowStyle & wxCLIP_SIBLINGS )
lStyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lStyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( GetHwndOf(pParent) // Parent handle
,WC_BUTTON // A Button class window
,(PSZ)rsLabel.c_str() // Button text
+166 -119
View File
@@ -34,52 +34,90 @@ IMPLEMENT_DYNAMIC_CLASS(wxBitmapCheckBox, wxCheckBox)
// wxCheckBox
// ----------------------------------------------------------------------------
bool wxCheckBox::OS2Command(WXUINT WXUNUSED(param), WXWORD WXUNUSED(id))
bool wxCheckBox::OS2Command(
WXUINT WXUNUSED(uParam)
, WXWORD WXUNUSED(wId)
)
{
wxCommandEvent event(wxEVT_COMMAND_CHECKBOX_CLICKED, m_windowId);
event.SetInt(GetValue());
event.SetEventObject(this);
ProcessCommand(event);
wxCommandEvent rEvent( wxEVT_COMMAND_CHECKBOX_CLICKED
,m_windowId
);
rEvent.SetInt(GetValue());
rEvent.SetEventObject(this);
ProcessCommand(rEvent);
return TRUE;
}
} // end of wxCheckBox::OS2Command
// Single check box item
bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
const wxPoint& pos,
const wxSize& size, long style,
bool wxCheckBox::Create(
wxWindow* pParent
, wxWindowID vId
, const wxString& rsLabel
, const wxPoint& rPos
, const wxSize& rSize
, long lStyle
#if wxUSE_VALIDATORS
const wxValidator& validator,
, const wxValidator& rValidator
#endif
const wxString& name)
, const wxString& rsName
)
{
SetName(name);
SetName(rsName);
#if wxUSE_VALIDATORS
SetValidator(validator);
SetValidator(rValidator);
#endif
if (parent) parent->AddChild(this);
if (pParent)
pParent->AddChild(this);
SetBackgroundColour(parent->GetBackgroundColour()) ;
SetForegroundColour(parent->GetForegroundColour()) ;
SetBackgroundColour(pParent->GetBackgroundColour());
SetForegroundColour(pParent->GetForegroundColour());
m_windowStyle = lStyle;
m_windowStyle = style;
wxString sLabel = rsLabel;
wxString Label = label;
if (Label == wxT(""))
Label = wxT(" "); // Apparently needed or checkbox won't show
if (sLabel == wxT(""))
sLabel = wxT(" "); // Apparently needed or checkbox won't show
if ( id == -1 )
if (vId == -1 )
m_windowId = NewControlId();
else
m_windowId = id;
m_windowId = vId;
int x = pos.x;
int y = pos.y;
int width = size.x;
int height = size.y;
int nX = rPos.x;
int nY = rPos.y;
int nWidth = rSize.x;
int nHeight = rSize.y;
long lSstyle = 0L;
// TODO: create checkbox
lSstyle = BS_AUTOCHECKBOX |
WS_TABSTOP |
WS_VISIBLE;
if (lStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lSstyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow ( GetHwndOf(pParent)
,WC_BUTTON
,rsLabel.c_str()
,lSstyle
,0, 0, 0, 0
,GetWinHwnd(pParent)
,HWND_TOP
,(HMENU)m_windowId
,NULL
,NULL
);
//
// Subclass again for purposes of dialog editing mode
//
SubclassWin(m_hWnd);
LONG lColor = (LONG)m_backgroundColour.GetPixel();
@@ -90,45 +128,73 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
,(PVOID)&lColor
);
SetFont(parent->GetFont());
SetFont(pParent->GetFont());
SetSize(x, y, width, height);
SetSize( nX
,nY
,nWidth
,nHeight
);
return TRUE;
} // end of wxCheckBox::Create
return FALSE;
}
void wxCheckBox::SetLabel(const wxString& label)
void wxCheckBox::SetLabel(
const wxString& rsLabel
)
{
// TODO
}
::WinSetWindowText(GetHwnd(), rsLabel.c_str());
} // end of wxCheckBox::SetLabel
wxSize wxCheckBox::DoGetBestSize() const
{
int wCheckbox, hCheckbox;
static int nCheckSize = 0;
wxString str = wxGetWindowText(GetHWND());
if ( !str.IsEmpty() )
if (!nCheckSize)
{
GetTextExtent(str, &wCheckbox, &hCheckbox);
wCheckbox += RADIO_SIZE;
wxScreenDC vDc;
if ( hCheckbox < RADIO_SIZE )
hCheckbox = RADIO_SIZE;
vDc.SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
//
// The height of a standard button in the dialog units is 8,
// translate this to pixels (as one dialog unit is precisely equal to
// 8 character heights, it's just the char height)
//
nCheckSize = vDc.GetCharHeight();
}
int nWidthCheckbox;
int nHeightCheckbox;
wxString sStr = wxGetWindowText(GetHWND());
if (!sStr.IsEmpty())
{
GetTextExtent( sStr
,&nWidthCheckbox
,&nHeightCheckbox
);
nWidthCheckbox += nCheckSize + GetCharWidth();
if (nHeightCheckbox < nCheckSize)
nHeightCheckbox = nCheckSize;
}
else
{
wCheckbox = RADIO_SIZE;
hCheckbox = RADIO_SIZE;
nWidthCheckbox = nCheckSize;
nHeightCheckbox = nCheckSize;
}
return wxSize(wCheckbox, hCheckbox);
}
return wxSize( nWidthCheckbox
,nHeightCheckbox
);
} // end of wxCheckBox::DoGetBestSize
void wxCheckBox::SetValue(bool val)
void wxCheckBox::SetValue(
bool bValue
)
{
// TODO
}
::WinSendMsg(GetHwnd(), BM_SETCHECK, (MPARAM)bValue, 0);
} // end of wxCheckBox::SetValue
#ifndef BST_CHECKED
#define BST_CHECKED 0x0001
@@ -136,101 +202,82 @@ void wxCheckBox::SetValue(bool val)
bool wxCheckBox::GetValue() const
{
// TODO
return FALSE;
}
return((LONGFROMMR(::WinSendMsg(GetHwnd(), BM_QUERYCHECK, (MPARAM)0, (MPARAM)0)) == 1L));
} // end of wxCheckBox::GetValue
WXHBRUSH wxCheckBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
void wxCheckBox::Command (
wxCommandEvent& rEvent
)
{
// TODO:
/*
#if wxUSE_CTL3D
if ( m_useCtl3D )
{
HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
return (WXHBRUSH) hbrush;
}
#endif
if (GetParent()->GetTransparentBackground())
SetBkMode((HDC) pDC, TRANSPARENT);
else
SetBkMode((HDC) pDC, OPAQUE);
::SetBkColor((HDC) pDC, RGB(GetBackgroundColour().Red(), GetBackgroundColour().Green(), GetBackgroundColour().Blue()));
::SetTextColor((HDC) pDC, RGB(GetForegroundColour().Red(), GetForegroundColour().Green(), GetForegroundColour().Blue()));
*/
wxBrush *backgroundBrush = wxTheBrushList->FindOrCreateBrush(GetBackgroundColour(), wxSOLID);
// Note that this will be cleaned up in wxApp::OnIdle, if backgroundBrush
// has a zero usage count.
// backgroundBrush->RealizeResource();
return (WXHBRUSH) backgroundBrush->GetResourceHandle();
}
void wxCheckBox::Command (wxCommandEvent & event)
{
SetValue ((event.GetInt() != 0));
ProcessCommand (event);
}
SetValue((rEvent.GetInt() != 0));
ProcessCommand(rEvent);
} // end of wxCheckBox:: Command
// ----------------------------------------------------------------------------
// wxBitmapCheckBox
// ----------------------------------------------------------------------------
bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *label,
const wxPoint& pos,
const wxSize& size, long style,
bool wxBitmapCheckBox::Create(
wxWindow* pParent
, wxWindowID vId
, const wxBitmap* pLabel
, const wxPoint& rPos
, const wxSize& rSize
, long lStyle
#if wxUSE_VALIDATORS
const wxValidator& validator,
, const wxValidator& rValidator
#endif
const wxString& name)
, const wxString& rsName
)
{
SetName(name);
SetName(rsName);
#if wxUSE_VALIDATORS
SetValidator(validator);
SetValidator(rValidator);
#endif
if (parent) parent->AddChild(this);
if (pParent)
pParent->AddChild(this);
SetBackgroundColour(parent->GetBackgroundColour()) ;
SetForegroundColour(parent->GetForegroundColour()) ;
m_windowStyle = style;
SetBackgroundColour(pParent->GetBackgroundColour()) ;
SetForegroundColour(pParent->GetForegroundColour()) ;
m_windowStyle = lStyle;
if ( id == -1 )
if (vId == -1)
m_windowId = NewControlId();
else
m_windowId = id;
m_windowId = vId;
int x = pos.x;
int y = pos.y;
int width = size.x;
int height = size.y;
int nX = rPos.x;
int nY = rPos.y;
int nWidth = rSize.x;
int nHeight = rSize.y;
checkWidth = -1 ;
checkHeight = -1 ;
m_nCheckWidth = -1 ;
m_nCheckHeight = -1 ;
// long msStyle = CHECK_FLAGS;
HWND wx_button = 0; // TODO: Create the bitmap checkbox
HWND hButton = 0; // TODO: Create the bitmap checkbox
m_hWnd = (WXHWND)wx_button;
m_hWnd = (WXHWND)hButton;
//
// Subclass again for purposes of dialog editing mode
SubclassWin((WXHWND)wx_button);
//
SubclassWin((WXHWND)hButton);
SetSize(x, y, width, height);
// TODO: ShowWindow(wx_button, SW_SHOW);
SetSize( nX
,nY
,nWidth
,nHeight
);
::WinShowWindow(hButton, TRUE);
return TRUE;
}
} // end of wxBitmapCheckBox::Create
void wxBitmapCheckBox::SetLabel(const wxBitmap& bitmap)
void wxBitmapCheckBox::SetLabel(
const wxBitmap& rBitmap
)
{
wxFAIL_MSG(wxT("not implemented"));
}
} // end of wxBitmapCheckBox::SetLabel
+2 -2
View File
@@ -50,8 +50,8 @@ bool wxChoice::Create(
))
return FALSE;
lSstyle = CBS_DROPDOWNLIST |
WS_TABSTOP |
WS_VISIBLE;
WS_TABSTOP |
WS_VISIBLE;
if (lStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
+1
View File
@@ -163,6 +163,7 @@ bool wxComboBox::Create(
gfnWndprocEdit = (WXFARPROC)::WinSubclassWindow( (HWND)GetHwnd()
,(PFNWP)wxComboEditWndProc
);
::WinSetWindowULong(GetHwnd(), QWL_USER, (ULONG)this);
return TRUE;
} // end of wxComboBox::Create
+42 -23
View File
@@ -113,6 +113,10 @@ bool wxControl::OS2CreateControl(
, WXDWORD dwExstyle
)
{
int nX = rPos.x == -1 ? 0 : rPos.x;
int nY = rPos.y == -1 ? 0 : rPos.y;
int nW = rSize.x == -1 ? 0 : rSize.x;
int nH = rSize.y == -1 ? 0 : rSize.y;
//
// Doesn't do anything at all under OS/2
//
@@ -121,6 +125,42 @@ bool wxControl::OS2CreateControl(
dwExstyle = GetExStyle(dwStyle);
}
wxWindow* pParent = GetParent();
PSZ zClass;
if (!pParent)
return FALSE;
if ((strcmp(zClassname, "COMBOBOX")) == 0)
zClass = WC_COMBOBOX;
else if ((strcmp(zClassname, "STATIC")) == 0)
zClass = WC_STATIC;
dwStyle |= WS_VISIBLE;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
dwStyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,(PSZ)zClass // Window class
,(PSZ)rsLabel.c_str() // Initial Text
,(ULONG)dwStyle // Style flags
,(LONG)0 // X pos of origin
,(LONG)0 // Y pos of origin
,(LONG)0 // control width
,(LONG)0 // control height
,(HWND)GetHwndOf(pParent) // owner window handle (same as parent
,HWND_TOP // initial z position
,(ULONG)GetId() // Window identifier
,NULL // no control data
,NULL // no Presentation parameters
);
if ( !m_hWnd )
{
#ifdef __WXDEBUG__
@@ -129,29 +169,6 @@ bool wxControl::OS2CreateControl(
return FALSE;
}
PSZ zClass;
if ((strcmp(zClassname, "COMBOBOX")) == 0)
zClass = WC_COMBOBOX;
else if ((strcmp(zClassname, "STATIC")) == 0)
zClass = WC_STATIC;
dwStyle |= WS_VISIBLE;
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(GetParent()) // Parent window handle
,(PSZ)zClassname // Window class
,(PSZ)rsLabel.c_str() // Initial Text
,(ULONG)dwStyle // Style flags
,(LONG)0 // X pos of origin
,(LONG)0 // Y pos of origin
,(LONG)0 // control width
,(LONG)0 // control height
,(HWND)GetHwndOf(GetParent()) // owner window handle (same as parent
,HWND_TOP // initial z position
,(ULONG)GetId() // Window identifier
,NULL // no control data
,NULL // no Presentation parameters
);
//
// Subclass again for purposes of dialog editing mode
//
@@ -161,6 +178,8 @@ bool wxControl::OS2CreateControl(
// Controls use the same font and colours as their parent dialog by default
//
InheritAttributes();
if (nW == 0 || nH == 0)
SetBestSize(rSize);
return TRUE;
} // end of wxControl::OS2CreateControl
+40 -158
View File
@@ -31,23 +31,18 @@
#define wxDIALOG_DEFAULT_WIDTH 500
#define wxDIALOG_DEFAULT_HEIGHT 500
// Lists to keep track of windows, so we can disable/enable them
// for modal dialogs
wxWindowList wxModalDialogs;
wxWindowList wxModelessWindows; // Frames and modeless dialogs
extern wxList WXDLLEXPORT wxPendingDelete;
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxPanel)
IMPLEMENT_DYNAMIC_CLASS(wxDialog, wxTopLevelWindow)
BEGIN_EVENT_TABLE(wxDialog, wxPanel)
EVT_SIZE(wxDialog::OnSize)
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
EVT_CHAR_HOOK(wxDialog::OnCharHook)
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
EVT_CLOSE(wxDialog::OnCloseWindow)
END_EVENT_TABLE()
BEGIN_EVENT_TABLE(wxDialog, wxTopLevelWindow)
EVT_BUTTON(wxID_OK, wxDialog::OnOK)
EVT_BUTTON(wxID_APPLY, wxDialog::OnApply)
EVT_BUTTON(wxID_CANCEL, wxDialog::OnCancel)
EVT_CHAR_HOOK(wxDialog::OnCharHook)
EVT_SYS_COLOUR_CHANGED(wxDialog::OnSysColourChanged)
EVT_CLOSE(wxDialog::OnCloseWindow)
END_EVENT_TABLE()
void wxDialog::Init()
{
@@ -76,64 +71,27 @@ bool wxDialog::Create(
HWND hWnd;
Init();
m_pOldFocus = (wxWindow*)FindFocus();
SetName(rsName);
wxTopLevelWindows.Append(this);
if (pParent)
pParent->AddChild(this);
if (vId == -1)
m_windowId = NewControlId();
else
m_windowId = vId;
if (lX < 0)
lX = wxDIALOG_DEFAULT_X;
if (lY < 0)
lY = wxDIALOG_DEFAULT_Y;
m_windowStyle = lStyle;
if (lWidth < 0)
lWidth = wxDIALOG_DEFAULT_WIDTH;
if (lHeight < 0)
lHeight = wxDIALOG_DEFAULT_HEIGHT;
SetExtraStyle(GetExtraStyle() | wxTOPLEVEL_EX_DIALOG);
//
// Save focus before doing anything which can potentially change it
//
m_pOldFocus = FindFocus();
//
// All dialogs should really have this style
//
m_windowStyle |= wxTAB_TRAVERSAL;
lStyle |= wxTAB_TRAVERSAL;
//
// Allows creation of dialogs with & without captions under MSWindows,
// resizeable or not (but a resizeable dialog always has caption -
// otherwise it would look too strange)
//
if (lStyle & wxRESIZE_BORDER )
zDlg = "wxResizeableDialog";
else if (lStyle & wxCAPTION )
zDlg = "wxCaptionDialog";
else
zDlg = "wxNoCaptionDialog";
OS2Create( GetWinHwnd(pParent)
,NULL
,rsTitle.c_str()
,0L
,lX
,lY
,lWidth
,lHeight
,GetWinHwnd(pParent)
,HWND_TOP
,(long)m_windowId
,NULL
,NULL
);
hWnd = (HWND)GetHWND();
if (!hWnd)
{
if (!wxTopLevelWindow::Create( pParent
,vId
,rsTitle
,rPos
,rSize
,lStyle
,rsName
))
return FALSE;
}
SubclassWin(GetHWND());
::WinSetWindowText( hWnd
,(PSZ)rsTitle.c_str()
);
SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
return TRUE;
} // end of wxDialog::Create
@@ -143,35 +101,21 @@ void wxDialog::SetModal(
)
{
if (bFlag)
{
m_windowStyle |= wxDIALOG_MODAL ;
else if ( m_windowStyle & wxDIALOG_MODAL )
m_windowStyle -= wxDIALOG_MODAL ;
wxModelessWindows.DeleteObject(this);
if (!bFlag)
wxModelessWindows.Append(this);
wxModelessWindows.DeleteObject(this);
}
else
{
m_windowStyle &= ~wxDIALOG_MODAL ;
wxModelessWindows.Append(this);
}
} // end of wxDialog::SetModal
wxDialog::~wxDialog()
{
m_isBeingDeleted = TRUE;
wxTopLevelWindows.DeleteObject(this);
Show(FALSE);
if (!IsModal())
wxModelessWindows.DeleteObject(this);
//
// If this is the last top-level window, exit.
//
if (wxTheApp && (wxTopLevelWindows.Number() == 0))
{
wxTheApp->SetTopWindow(NULL);
if (wxTheApp->GetExitOnFrameDelete())
{
::WinPostMsg(GetHwnd(), WM_QUIT, 0, 0);
}
}
} // end of wxDialog::~wxDialog
//
@@ -208,64 +152,9 @@ void wxDialog::OnCharHook(
rEvent.Skip();
}
void wxDialog::Iconize(
bool WXUNUSED(bIconize)
)
{
} // end of wxDialog::Iconize
bool wxDialog::IsIconized() const
{
return FALSE;
} // end of wxDialog::IsIconized
void wxDialog::DoSetClientSize(
int nWidth
, int nHeight
)
{
HWND hWnd = (HWND) GetHWND();
RECTL vRect;
RECTL vRect2;
::WinQueryWindowRect(hWnd, &vRect);
::WinQueryWindowRect(hWnd, &vRect2);
LONG lActualWidth = vRect2.xRight - vRect2.xLeft - vRect.xRight + nWidth;
LONG lActualHeight = vRect2.yTop + vRect2.yTop - vRect.yTop + nHeight;
::WinSetWindowPos( GetHwnd()
,HWND_TOP
,(LONG)vRect2.xLeft
,(LONG)vRect2.yTop
,(LONG)lActualWidth
,(LONG)lActualHeight
,SWP_SIZE | SWP_MOVE
);
wxSizeEvent vEvent( wxSize( lActualWidth
,lActualHeight
)
,m_windowId
);
vEvent.SetEventObject( this );
GetEventHandler()->ProcessEvent(vEvent);
} // end of wxDialog::DoSetClientSize
void wxDialog::DoGetPosition(
int* pnX
, int* pnY
) const
{
RECTL vRect;
::WinQueryWindowRect(GetHwnd(), &vRect);
if (pnX)
*pnX = vRect.xLeft;
if (pnY)
*pnY = vRect.yBottom; // OS/2's bottom is windows' top???
} // end of wxDialog::DoGetPosition
// ----------------------------------------------------------------------------
// showing the dialogs
// ----------------------------------------------------------------------------
bool wxDialog::IsModal() const
{
@@ -407,7 +296,7 @@ bool wxDialog::Show(
wxModalDialogs.DeleteObject(this);
}
}
return FALSE;
return TRUE;
} // end of wxDialog::Show
//
@@ -431,6 +320,10 @@ void wxDialog::EndModal(
Show(FALSE);
} // end of wxDialog::EndModal
// ----------------------------------------------------------------------------
// wxWin event handlers
// ----------------------------------------------------------------------------
void wxDialog::OnApply(
wxCommandEvent& rEvent
)
@@ -495,17 +388,6 @@ void wxDialog::OnCloseWindow(
closing.DeleteObject(this);
} // end of wxDialog::OnCloseWindow
//
// Destroy the window (delayed, if a managed window)
//
bool wxDialog::Destroy()
{
wxCHECK_MSG( !wxPendingDelete.Member(this), FALSE,
_T("wxDialog destroyed twice") );
wxPendingDelete.Append(this);
return TRUE;
} // end of wxDialog::Destroy
void wxDialog::OnSysColourChanged(
wxSysColourChangedEvent& rEvent
)
+65 -544
View File
File diff suppressed because it is too large Load Diff
+8 -1
View File
@@ -155,7 +155,14 @@ bool wxGauge::Create(
if (m_windowStyle & wxCLIP_SIBLINGS)
lMsStyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lMsStyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,WC_ENTRYFIELD // Window class
+32
View File
@@ -142,6 +142,15 @@ bool wxListBox::Create(
//
lStyle |= LS_NOADJUSTPOS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lStyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent) // Parent
,WC_LISTBOX // Default Listbox class
,"LISTBOX" // Control's name
@@ -170,6 +179,29 @@ bool wxListBox::Create(
Append(asChoices[lUi]);
}
SetFont(pParent->GetFont());
//
// Set standard wxWindows colors for Listbox items and highlighting
//
wxColour vColour;
vColour.Set(wxString("WHITE"));
LONG lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_HILITEFOREGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
vColour.Set(wxString("NAVY"));
lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_HILITEBACKGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
SetSize( nX
,nY
,nWidth
+3
View File
@@ -526,6 +526,7 @@ OS2OBJS = \
..\os2\$D\timer.obj \
..\os2\$D\toolbar.obj \
..\os2\$D\tooltip.obj \
..\os2\$D\toplevel.obj \
..\os2\$D\utils.obj \
..\os2\$D\utilsexc.obj \
..\os2\$D\wave.obj \
@@ -610,6 +611,7 @@ OS2LIBOBJS2 = \
timer.obj \
toolbar.obj \
tooltip.obj \
toplevel.obj \
utils.obj \
utilsexc.obj \
wave.obj \
@@ -958,6 +960,7 @@ $(OS2LIBOBJS2):
copy ..\os2\$D\timer.obj
copy ..\os2\$D\toolbar.obj
copy ..\os2\$D\tooltip.obj
copy ..\os2\$D\toplevel.obj
copy ..\os2\$D\utils.obj
copy ..\os2\$D\utilsexc.obj
copy ..\os2\$D\wave.obj
+21 -1
View File
@@ -294,7 +294,11 @@ bool wxRadioBox::Create(
if (!OS2CreateControl( "STATIC"
,SS_GROUPBOX | WS_GROUP
#if RADIOBTN_PARENT_IS_RADIOBOX
,SS_GROUPBOX | WS_GROUP | WS_CLIPCHILDREN
#else
,SS_GROUPBOX | WS_GROUP | WS_CLIPSIBLINGS
#endif
,rPos
,rSize
,rsTitle
@@ -341,11 +345,19 @@ bool wxRadioBox::Create(
,NULL
,NULL
);
lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( hWndBtn
,PP_FOREGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
lColor = (LONG)m_backgroundColour.GetPixel();
::WinSetPresParam( hWndBtn
,PP_BACKGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
if (!hWndBtn)
{
return FALSE;
@@ -374,11 +386,19 @@ bool wxRadioBox::Create(
,NULL
);
SetFont(*wxSMALL_FONT);
lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_FOREGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
lColor = (LONG)m_backgroundColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_BACKGROUNDCOLOR
,sizeof(LONG)
,(PVOID)&lColor
);
SetSelection(0);
SetSize( rPos.x
,rPos.y
+9
View File
@@ -81,6 +81,15 @@ bool wxRadioButton::Create(
if (m_windowStyle & wxCLIP_SIBLINGS )
lsStyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lsStyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow ( GetHwndOf(pParent)
,WC_BUTTON
,rsLabel.c_str()
+36
View File
@@ -200,6 +200,15 @@ bool wxSlider::Create(
{
lMsStyle |= WS_VISIBLE | SS_TEXT | DT_VCENTER;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lMsStyle |= WS_CLIPSIBLINGS;
m_hStaticValue = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,WC_STATIC // Window class
,(PSZ)NULL // Initial Text
@@ -219,6 +228,15 @@ bool wxSlider::Create(
lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE;
if (m_windowStyle & wxCLIP_SIBLINGS)
lWstyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lWstyle |= WS_CLIPSIBLINGS;
m_hStaticMin = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,WC_STATIC // Window class
,(PSZ)wxBuffer // Initial Text
@@ -263,6 +281,15 @@ bool wxSlider::Create(
else
lMsStyle |= SLS_PRIMARYSCALE2;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lMsStyle |= WS_CLIPSIBLINGS;
m_nPageSize = ((nMaxValue - nMinValue)/10);
vSlData.usScale1Increments = m_nPageSize;
vSlData.usScale2Increments = m_nPageSize;
@@ -311,6 +338,15 @@ bool wxSlider::Create(
lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE;
if (m_windowStyle & wxCLIP_SIBLINGS)
lMsStyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lWstyle |= WS_CLIPSIBLINGS;
m_hStaticMax = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,WC_STATIC // Window class
,(PSZ)wxBuffer // Initial Text
+9
View File
@@ -102,6 +102,15 @@ bool wxSpinButton::Create(
if (m_windowStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lSstyle |= WS_CLIPSIBLINGS;
SPBCDATA vCtrlData;
vCtrlData.cbSize = sizeof(SPBCDATA);
+9
View File
@@ -151,6 +151,15 @@ bool wxSpinCtrl::Create(
if (m_windowStyle & wxCLIP_SIBLINGS )
lSstyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lSstyle |= WS_CLIPSIBLINGS;
SPBCDATA vCtrlData;
vCtrlData.cbSize = sizeof(SPBCDATA);
+9
View File
@@ -66,6 +66,15 @@ bool wxStaticText::Create(
lSstyle |= DT_RIGHT;
else
lSstyle |= DT_LEFT;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lSstyle |= WS_CLIPSIBLINGS;
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
,WC_STATIC // Window class
,(PSZ)rsLabel.c_str() // Initial Text
+17 -31
View File
@@ -117,37 +117,11 @@ bool wxTextCtrl::Create(
return FALSE;
wxPoint vPos = rPos; // The OS/2 position
SWP vSwp;
if (pParent )
{
pParent->AddChild(this);
hParent = GetWinHwnd(pParent);
//
// OS2 uses normal coordinates, no bassackwards Windows ones
//
if (pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxScrolledWindow))
)
{
wxWindow* pGrandParent = NULL;
pGrandParent = pParent->GetParent();
if (pGrandParent)
nTempy = pGrandParent->GetSize().y - (vPos.y + rSize.y);
else
nTempy = pParent->GetSize().y - (vPos.y + rSize.y);
}
else
nTempy = pParent->GetSize().y - (vPos.y + rSize.y);
vPos.y = nTempy;
}
else
{
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
hParent = HWND_DESKTOP;
vPos.y = vRect.yTop - (vPos.y + rSize.y);
}
m_windowStyle = lStyle;
@@ -180,10 +154,15 @@ bool wxTextCtrl::Create(
if (m_windowStyle & wxTE_PASSWORD) // hidden input
lSstyle |= ES_UNREADABLE;
}
if ( pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxScrolledWindow))
)
lSstyle |= WS_CLIPSIBLINGS;
//
// If the parent is a scrolled window the controls must
// have this style or they will overlap the scrollbars
//
if (pParent)
if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) ||
pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow)))
lSstyle |= WS_CLIPSIBLINGS;
if (m_bIsMLE)
{
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)GetHwndOf(pParent) // Parent window handle
@@ -244,6 +223,13 @@ bool wxTextCtrl::Create(
SetValue(rsValue);
}
SetupColours();
//
// If X and/or Y are not zero the difference is the compensation value
// for margins for OS/2 controls.
//
::WinQueryWindowPos(m_hWnd, &vSwp);
SetXComp(vSwp.x);
SetYComp(vSwp.y);
SetSize( vPos.x
,vPos.y
,rSize.x
+151 -139
View File
@@ -369,7 +369,6 @@ bool wxWindowOS2::Create(
)
{
HWND hParent = NULLHANDLE;
wxPoint vPos = rPos; // The OS/2 position
ULONG ulCreateFlags = 0;
WXDWORD dwExStyle = 0;
@@ -442,23 +441,17 @@ bool wxWindowOS2::Create(
}
//
// Generic OS/2 Windows are created with no owner, no Z Order, no Control data,
// and no presentation parameters
// Generic OS/2 Windows have no Control Data but other classes
// that call OS2Create may have some.
//
OS2Create( hParent
,(PSZ)wxCanvasClassName
OS2Create( (PSZ)wxCanvasClassName
,rName.c_str()
,ulCreateFlags
,vPos.x
,vPos.y
,WidthDefault(rSize.x)
,HeightDefault(rSize.y)
,NULLHANDLE
,NULLHANDLE
,m_windowId
,NULL
,NULL
,rPos
,rSize
,NULL // Control Data
,dwExStyle
,TRUE // Child
);
return(TRUE);
@@ -1084,6 +1077,19 @@ void wxWindowOS2::UnsubclassWin()
}
} // end of wxWindowOS2::UnsubclassWin
bool wxCheckWindowWndProc(
WXHWND hWnd
, WXFARPROC fnWndProc
)
{
static char zBuffer[512];
CLASSINFO vCls;
::WinQueryClassName((HWND)hWnd, (LONG)512, (PCH)zBuffer);
::WinQueryClassInfo(wxGetInstance(), (PSZ)zBuffer, &vCls);
return(fnWndProc == (WXFARPROC)vCls.pfnWindowProc);
} // end of WinGuiBase_CheckWindowWndProc
//
// Make a Windows extended style from the given wxWindows window style
//
@@ -1416,9 +1422,17 @@ void wxWindowOS2::DoGetSize(
, int* pHeight
) const
{
HWND hWnd = GetHwnd();
HWND hWnd;
RECTL vRect;
if (IsKindOf(CLASSINFO(wxFrame)))
{
wxFrame* pFrame = wxDynamicCast(this, wxFrame);
hWnd = pFrame->GetFrame();
}
else
hWnd = GetHwnd();
::WinQueryWindowRect(hWnd, &vRect);
if (pWidth)
@@ -1514,18 +1528,9 @@ void wxWindowOS2::DoGetClientSize(
) const
{
HWND hWnd = GetHwnd();
HWND hWndClient;
RECTL vRect;
if (IsKindOf(CLASSINFO(wxFrame)))
hWndClient = ::WinWindowFromID(GetHwnd(), FID_CLIENT);
else
hWndClient = NULLHANDLE;
if( hWndClient == NULLHANDLE)
::WinQueryWindowRect(GetHwnd(), &vRect);
else
::WinQueryWindowRect(hWndClient, &vRect);
::WinQueryWindowRect(hWnd, &vRect);
if (pWidth)
*pWidth = vRect.xRight;
if (pHeight)
@@ -1596,8 +1601,29 @@ void wxWindowOS2::DoSetSize(
GetPosition(&nCurrentX, &nCurrentY);
GetSize(&nCurrentWidth, &nCurrentHeight);
//
// ... and don't do anything (avoiding flicker) if it's already ok
if (nX == nCurrentX && nY == nCurrentY &&
//
//
// Must convert Y coords to test for equality under OS/2
//
int nY2 = nY;
wxWindow* pParent = (wxWindow*)GetParent();
if (pParent)
{
int nOS2Height = GetOS2ParentHeight(pParent);
nY2 = nOS2Height - (nY2 + nHeight);
}
else
{
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
nY2 = vRect.yTop - (nY2 + nHeight);
}
if (nX == nCurrentX && nY2 == nCurrentY &&
nWidth == nCurrentWidth && nHeight == nCurrentHeight)
{
return;
@@ -2860,148 +2886,134 @@ bool wxWindowOS2::OS2GetCreateWindowCoords(
} // end of wxWindowOS2::OS2GetCreateWindowCoords
bool wxWindowOS2::OS2Create(
WXHWND hParent
, PSZ zClass
, const wxChar* zTitle
PSZ zClass
, const char* zTitle
, WXDWORD dwStyle
, long lX
, long lY
, long lWidth
, long lHeight
, WXHWND hOwner
, WXHWND WXUNUSED(hZOrder)
, unsigned long ulId
, const wxPoint& rPos
, const wxSize& rSize
, void* pCtlData
, void* pPresParams
, WXDWORD dwExStyle
, bool bIsChild
)
{
ERRORID vError;
wxString sError;
long lX1 = 0L;
long lY1 = 0L;
long lWidth1 = 20L;
long lHeight1 = 20L;
int nControlId = 0;
int nNeedsubclass = 0;
PCSZ pszClass = zClass;
int nX = 0L;
int nY = 0L;
int nWidth = 0L;
int nHeight = 0L;
wxWindow* pParent = GetParent();
HWND hWnd = NULLHANDLE;
HWND hParent;
long lControlId = 0L;
wxWindowCreationHook vHook(this);
wxString sClassName((wxChar*)zClass);
//
// Find parent's size, if it exists, to set up a possible default
// panel size the size of the parent window
//
lX1 = lX;
lY1 = lY;
if (lWidth > -1L)
lWidth1 = lWidth;
if (lHeight > -1L)
lHeight1 = lHeight;
OS2GetCreateWindowCoords( rPos
,rSize
,nX
,nY
,nWidth
,nHeight
);
wxWndHook = this;
//
// check to see if the new window is a standard control
//
if ((ULONG)zClass == (ULONG)WC_BUTTON ||
(ULONG)zClass == (ULONG)WC_COMBOBOX ||
(ULONG)zClass == (ULONG)WC_CONTAINER ||
(ULONG)zClass == (ULONG)WC_ENTRYFIELD ||
(ULONG)zClass == (ULONG)WC_FRAME ||
(ULONG)zClass == (ULONG)WC_LISTBOX ||
(ULONG)zClass == (ULONG)WC_MENU ||
(ULONG)zClass == (ULONG)WC_NOTEBOOK ||
(ULONG)zClass == (ULONG)WC_SCROLLBAR ||
(ULONG)zClass == (ULONG)WC_SPINBUTTON ||
(ULONG)zClass == (ULONG)WC_STATIC ||
(ULONG)zClass == (ULONG)WC_TITLEBAR ||
(ULONG)zClass == (ULONG)WC_VALUESET
)
{
nControlId = ulId;
}
if (GetWindowStyleFlag() & wxPOPUP_WINDOW)
hParent = HWND_DESKTOP;
else
{
// no standard controls
if(wxString (wxT("wxFrameClass")) == wxString(zClass) )
if ((bIsChild || HasFlag(wxFRAME_TOOL_WINDOW)) && pParent )
{
pszClass = WC_FRAME;
nNeedsubclass = 1;
//
// This is either a normal child window or a top level window with
// wxFRAME_TOOL_WINDOW style (see below)
//
hParent = GetHwndOf(pParent);
}
else
{
nControlId = ulId;
if(nControlId < 0)
nControlId = FID_CLIENT;
//
// This is either a window for which no parent was specified (not
// much we can do then) or a frame without wxFRAME_TOOL_WINDOW
// style: we should use NULL parent HWND for it or it would be
// always on top of its parent which is not what we usually want
// (in fact, we only want it for frames with the special
// wxFRAME_TOOL_WINDOW as above)
//
hParent = NULL;
}
}
HWND parent;
if ( GetWindowStyleFlag() & wxPOPUP_WINDOW )
{
// popup windows should have desktop as parent because they shouldn't
// be limited to the parents client area as child windows usually are
parent = HWND_DESKTOP;
}
else if ( hParent )
{
parent = hParent;
}
else
{
// top level window
parent = NULL;
}
//
// We will either have a registered class via string name or a standard PM Class via a long
//
m_hWnd = (WXHWND)::WinCreateWindow(parent, zClass,
(PSZ)zTitle ? zTitle : wxT(""),
dwStyle, lX1, lY1, lWidth, lHeight,
hOwner, HWND_TOP, (ULONG)nControlId,
pCtlData, pPresParams);
if (!m_hWnd)
if (bIsChild)
{
vError = ::WinGetLastError(vHabmain);
sError = wxPMErrorToStr(vError);
wxLogError("Can't create window of class %s!. Error: %s\n", zClass, sError);
return FALSE;
}
m_dwExStyle = dwExStyle;
::WinSetWindowULong(m_hWnd, QWL_USER, (ULONG) this);
wxWndHook = NULL;
#ifdef __WXDEBUG__
wxNode* pNode = wxWinHandleList->Member(this);
if (pNode)
{
HWND hWnd = (HWND)pNode->GetKeyInteger();
if (hWnd != (HWND)m_hWnd)
lControlId = GetId();
if (GetWindowStyleFlag() & wxCLIP_SIBLINGS)
{
wxLogError("A second HWND association is being added for the same window!");
dwStyle |= WS_CLIPSIBLINGS;
}
}
#endif
wxAssociateWinWithHandle((HWND)m_hWnd
,this
);
//
// Now need to subclass window.
// For each class "Foo" we have we also have "FooNR" ("no repaint") class
// which is the same but without CS_[HV]REDRAW class styles so using it
// ensures that the window is not fully repainted on each resize
//
if(!nNeedsubclass)
if (GetWindowStyleFlag() & wxNO_FULL_REPAINT_ON_RESIZE)
{
wxAssociateWinWithHandle((HWND)m_hWnd,this);
sClassName += wxT("NR");
}
//
// If the window being created is a Frame's Statusbar we need to use
// the actual Frame's size, not its client
//
if (pParent)
{
if (IsKindOf(CLASSINFO(wxStatusBar)) &&
pParent->IsKindOf(CLASSINFO(wxFrame)))
{
RECTL vRect;
wxFrame* pFrame = wxDynamicCast(pParent, wxFrame);
::WinQueryWindowRect((HWND)pFrame->GetFrame(), &vRect);
nY = vRect.yTop - (nY + nHeight);
}
else
nY = pParent->GetSize().y - (nY + nHeight);
}
else
{
SubclassWin(GetHWND());
RECTL vRect;
::WinQueryWindowRect(HWND_DESKTOP, &vRect);
nY = vRect.yTop - (nY + nHeight);
}
m_hWnd = (WXHWND)::WinCreateWindow( (HWND)hParent
,(PSZ)sClassName.c_str()
,(PSZ)zTitle ? zTitle : ""
,(ULONG)dwStyle
,(LONG)0L
,(LONG)0L
,(LONG)0L
,(LONG)0L
,NULLHANDLE
,HWND_TOP
,(ULONG)lControlId
,pCtlData
,NULL
);
if (!m_hWnd)
{
vError = ::WinGetLastError(wxGetInstance());
sError = wxPMErrorToStr(vError);
return FALSE;
}
SubclassWin(m_hWnd);
SetFont(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
SetSize( nX
,nY
,nWidth
,nHeight
);
return TRUE;
} // end of wxWindowOS2::OS2Create
} // end of WinGuiBase_Window::OS2Create
// ===========================================================================
// OS2 PM message handlers
+143 -50
View File
@@ -4,7 +4,7 @@ DATA MULTIPLE NONSHARED READWRITE LOADONCALL
CODE LOADONCALL
EXPORTS
;From library: F:\DEV\WX2\WXWINDOWS\LIB\WX.lib
;From library: F:\DEV\WX2\WXWINDOWS\LIB\wx.lib
;From object file: dummy.cpp
;PUBDEFs (Symbols available from object file):
wxDummyChar
@@ -888,8 +888,29 @@ EXPORTS
CreateButtonSizer__12wxDialogBaseFl
;wxDialogBase::Init()
Init__12wxDialogBaseFv
;wxDialogBase::GetDefaultItem() const
GetDefaultItem__12wxDialogBaseCFv
;wxDialogBase::SetDefaultItem(wxWindow*)
SetDefaultItem__12wxDialogBaseFP8wxWindow
;wxDialogBase::CreateTextSizer(const wxString&)
CreateTextSizer__12wxDialogBaseFRC8wxString
;wxDialogBase::OnFocus(wxFocusEvent&)
OnFocus__12wxDialogBaseFR12wxFocusEvent
;wxDialogBase::sm_eventTableEntries
sm_eventTableEntries__12wxDialogBase
;wxDialogBase::SetFocus()
SetFocus__12wxDialogBaseFv
;wxDialogBase::OnChildFocus(wxChildFocusEvent&)
OnChildFocus__12wxDialogBaseFR17wxChildFocusEvent
__vft12wxDialogBase8wxObject
;wxDialogBase::sm_eventTable
sm_eventTable__12wxDialogBase
;wxDialogBase::OnNavigationKey(wxNavigationKeyEvent&)
OnNavigationKey__12wxDialogBaseFR20wxNavigationKeyEvent
;wxDialogBase::RemoveChild(wxWindowBase*)
RemoveChild__12wxDialogBaseFP12wxWindowBase
;wxDialogBase::GetEventTable() const
GetEventTable__12wxDialogBaseCFv
;From object file: ..\common\dobjcmn.cpp
;PUBDEFs (Symbols available from object file):
;wxDataObjectComposite::GetDataSize(const wxDataFormat&) const
@@ -2018,6 +2039,8 @@ EXPORTS
;PUBDEFs (Symbols available from object file):
;wxFileName::Assign(const wxString&,wxPathFormat)
Assign__10wxFileNameFRC8wxString12wxPathFormat
;wxFileName::SetPath(const wxString&,wxPathFormat)
SetPath__10wxFileNameFRC8wxString12wxPathFormat
;wxFileName::Normalize(wxPathNormalize,const wxString&,wxPathFormat)
Normalize__10wxFileNameF15wxPathNormalizeRC8wxString12wxPathFormat
;wxFileName::IsWild(wxPathFormat)
@@ -2166,16 +2189,26 @@ EXPORTS
OpenFile__12wxFileSystemFRC8wxString
;From object file: ..\common\fontcmn.cpp
;PUBDEFs (Symbols available from object file):
;wxNativeFontInfo::SetUnderlined(unsigned long)
SetUnderlined__16wxNativeFontInfoFUl
;wxFontBase::GetNativeFontInfo() const
GetNativeFontInfo__10wxFontBaseCFv
;wxNativeFontInfo::GetUnderlined() const
GetUnderlined__16wxNativeFontInfoCFv
;wxFontBase::New(const wxNativeFontInfo&)
New__10wxFontBaseFRC16wxNativeFontInfo
;wxFontBase::New(const wxString&)
New__10wxFontBaseFRC8wxString
;wxNativeFontInfo::FromString(const wxString&)
FromString__16wxNativeFontInfoFRC8wxString
;wxFont::operator=(const wxFont&)
__as__6wxFontFRC6wxFont
;wxNativeFontInfo::SetFamily(wxFontFamily)
SetFamily__16wxNativeFontInfoF12wxFontFamily
;wxFontBase::GetNativeFontInfoDesc() const
GetNativeFontInfoDesc__10wxFontBaseCFv
;wxNativeFontInfo::ToUserString() const
ToUserString__16wxNativeFontInfoCFv
;wxFontBase::GetWeightString() const
GetWeightString__10wxFontBaseCFv
;wxFontBase::GetStyleString() const
@@ -2186,19 +2219,47 @@ EXPORTS
SetNativeFontInfo__10wxFontBaseFRC16wxNativeFontInfo
;wxFontBase::SetNativeFontInfoUserDesc(const wxString&)
SetNativeFontInfoUserDesc__10wxFontBaseFRC8wxString
;wxNativeFontInfo::SetStyle(wxFontStyle)
SetStyle__16wxNativeFontInfoF11wxFontStyle
;wxFontBase::ms_encodingDefault
ms_encodingDefault__10wxFontBase
;wxNativeFontInfo::GetPointSize() const
GetPointSize__16wxNativeFontInfoCFv
;wxNativeFontInfo::GetStyle() const
GetStyle__16wxNativeFontInfoCFv
;wxNativeFontInfo::GetFamily() const
GetFamily__16wxNativeFontInfoCFv
;wxNativeFontInfo::GetFaceName() const
GetFaceName__16wxNativeFontInfoCFv
;wxNativeFontInfo::SetEncoding(wxFontEncoding)
SetEncoding__16wxNativeFontInfoF14wxFontEncoding
;wxFontBase::SetNativeFontInfo(const wxString&)
SetNativeFontInfo__10wxFontBaseFRC8wxString
;wxFontBase::operator==(const wxFont&) const
__eq__10wxFontBaseCFRC6wxFont
;wxNativeFontInfo::SetWeight(wxFontWeight)
SetWeight__16wxNativeFontInfoF12wxFontWeight
__vft10wxFontBase8wxObject
;wxFontBase::operator!=(const wxFont&) const
__ne__10wxFontBaseCFRC6wxFont
;wxFontBase::operator==(const wxFont&) const
__eq__10wxFontBaseCFRC6wxFont
;wxNativeFontInfo::SetPointSize(int)
SetPointSize__16wxNativeFontInfoFi
;wxNativeFontInfo::ToString() const
ToString__16wxNativeFontInfoCFv
;wxFontBase::GetFamilyString() const
GetFamilyString__10wxFontBaseCFv
;wxNativeFontInfo::GetEncoding() const
GetEncoding__16wxNativeFontInfoCFv
;wxNativeFontInfo::Init()
Init__16wxNativeFontInfoFv
;wxNativeFontInfo::GetWeight() const
GetWeight__16wxNativeFontInfoCFv
;wxFontBase::New(int,int,int,int,unsigned long,const wxString&,wxFontEncoding)
New__10wxFontBaseFiN31UlRC8wxString14wxFontEncoding
;wxNativeFontInfo::SetFaceName(wxString)
SetFaceName__16wxNativeFontInfoF8wxString
;wxNativeFontInfo::FromUserString(const wxString&)
FromUserString__16wxNativeFontInfoFRC8wxString
;From object file: ..\common\fontmap.cpp
;PUBDEFs (Symbols available from object file):
;wxFontMapper::GetConfig()
@@ -5086,6 +5147,8 @@ EXPORTS
Upper__8wxStringCFv
;wxString::IsNumber() const
IsNumber__8wxStringCFv
;wxArrayString::GetStringArray() const
GetStringArray__13wxArrayStringCFv
;wxArrayString::Empty()
Empty__13wxArrayStringFv
;wxArrayString::Copy(const wxArrayString&)
@@ -5457,12 +5520,14 @@ EXPORTS
SendIconizeEvent__20wxTopLevelWindowBaseFUl
;wxTopLevelWindowBase::sm_eventTable
sm_eventTable__20wxTopLevelWindowBase
;wxConstructorForwxTopLevelWindow()
wxConstructorForwxTopLevelWindow__Fv
;wxTopLevelWindowBase::DoClientToScreen(int*,int*) const
DoClientToScreen__20wxTopLevelWindowBaseCFPiT1
;wxTopLevelWindowBase::GetEventTable() const
GetEventTable__20wxTopLevelWindowBaseCFv
;wxTopLevelWindowBase::wxTopLevelWindowBase()
__ct__20wxTopLevelWindowBaseFv
;wxTopLevelWindowBase::GetEventTable() const
GetEventTable__20wxTopLevelWindowBaseCFv
;wxTopLevelWindowBase::OnSize(wxSizeEvent&)
OnSize__20wxTopLevelWindowBaseFR11wxSizeEvent
__vft20wxTopLevelWindowBase8wxObject
@@ -5474,6 +5539,8 @@ EXPORTS
DoScreenToClient__20wxTopLevelWindowBaseCFPiT1
;wxTopLevelWindowBase::Destroy()
Destroy__20wxTopLevelWindowBaseFv
;wxTopLevelWindow::sm_classwxTopLevelWindow
sm_classwxTopLevelWindow__16wxTopLevelWindow
;From object file: ..\common\treebase.cpp
;PUBDEFs (Symbols available from object file):
wxEVT_COMMAND_TREE_BEGIN_LABEL_EDIT
@@ -11132,8 +11199,6 @@ EXPORTS
;wxCheckBox::SetValue(unsigned long)
SetValue__10wxCheckBoxFUl
__vft16wxBitmapCheckBox8wxObject
;wxCheckBox::OnCtlColor(unsigned long,unsigned long,unsigned int,unsigned int,void*,void*)
OnCtlColor__10wxCheckBoxFUlT1UiT3PvT5
;wxCheckBox::DoGetBestSize() const
DoGetBestSize__10wxCheckBoxCFv
;wxCheckBox::GetValue() const
@@ -11142,8 +11207,6 @@ EXPORTS
Create__16wxBitmapCheckBoxFP8wxWindowiPC8wxBitmapRC7wxPointRC6wxSizelRC11wxValidatorRC8wxString
;wxCheckBox::SetLabel(const wxString&)
SetLabel__10wxCheckBoxFRC8wxString
;wxCheckBox::Command(wxCommandEvent&)
Command__10wxCheckBoxFR14wxCommandEvent
;wxBitmapCheckBox::sm_classwxBitmapCheckBox
sm_classwxBitmapCheckBox__16wxBitmapCheckBox
;From object file: ..\os2\checklst.cpp
@@ -11815,10 +11878,6 @@ EXPORTS
SetModal__8wxDialogFUl
;wxDialog::OnCancel(wxCommandEvent&)
OnCancel__8wxDialogFR14wxCommandEvent
;wxDialog::DoGetPosition(int*,int*) const
DoGetPosition__8wxDialogCFPiT1
;wxDialog::IsIconized() const
IsIconized__8wxDialogCFv
;wxDialog::IsModal() const
IsModal__8wxDialogCFv
;wxDialog::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
@@ -11832,8 +11891,6 @@ EXPORTS
OnOK__8wxDialogFR14wxCommandEvent
;wxDialog::OnCloseWindow(wxCloseEvent&)
OnCloseWindow__8wxDialogFR12wxCloseEvent
;wxDialog::DoSetClientSize(int,int)
DoSetClientSize__8wxDialogFiT1
;wxDialog::Init()
Init__8wxDialogFv
;wxDialog::ShowModal()
@@ -11847,10 +11904,6 @@ EXPORTS
OnSysColourChanged__8wxDialogFR23wxSysColourChangedEvent
;wxDialog::DoShowModal()
DoShowModal__8wxDialogFv
;wxDialog::Destroy()
Destroy__8wxDialogFv
;wxDialog::Iconize(unsigned long)
Iconize__8wxDialogFUl
;wxDialog::Show(unsigned long)
Show__8wxDialogFUl
;wxDialog::OnApply(wxCommandEvent&)
@@ -11865,7 +11918,6 @@ EXPORTS
OS2WindowProc__8wxDialogFUiPvT2
;wxDialog::GetEventTable() const
GetEventTable__8wxDialogCFv
wxModelessWindows
;wxDialog::sm_eventTable
sm_eventTable__8wxDialog
;From object file: ..\os2\dir.cpp
@@ -12072,12 +12124,10 @@ EXPORTS
FromString__20wxNativeEncodingInfoFRC8wxString
;From object file: ..\os2\frame.cpp
;PUBDEFs (Symbols available from object file):
;wxFrame::Show(unsigned long)
Show__7wxFrameFUl
;wxFrame::Iconize(unsigned long)
Iconize__7wxFrameFUl
;wxFrame::HandleMenuSelect(unsigned short,unsigned short,unsigned long)
HandleMenuSelect__7wxFrameFUsT1Ul
;wxFrame::SendSizeEvent()
SendSizeEvent__7wxFrameFv
;wxFrame::OS2TranslateMessage(void**)
OS2TranslateMessage__7wxFrameFPPv
;wxFrame::HandlePaint()
@@ -12093,14 +12143,8 @@ EXPORTS
HandleSize__7wxFrameFiT1Ui
;wxConstructorForwxFrame()
wxConstructorForwxFrame__Fv
;wxFrame::SetIcon(const wxIcon&)
SetIcon__7wxFrameFRC6wxIcon
;wxFrame::Restore()
Restore__7wxFrameFv
;wxFrame::IsMaximized() const
IsMaximized__7wxFrameCFv
;wxFrame::IsIconized() const
IsIconized__7wxFrameCFv
;wxFrame::Raise()
Raise__7wxFrameFv
;wxFrame::GetClientAreaOrigin() const
GetClientAreaOrigin__7wxFrameCFv
;wxFrame::AttachMenuBar(wxMenuBar*)
@@ -12111,28 +12155,20 @@ EXPORTS
OnSysColourChanged__7wxFrameFR23wxSysColourChangedEvent
;wxFrame::ShowFullScreen(unsigned long,long)
ShowFullScreen__7wxFrameFUll
;wxFrame::DoShowWindow(int)
DoShowWindow__7wxFrameFi
;wxFrame::m_bUseNativeStatusBar
m_bUseNativeStatusBar__7wxFrame
;wxFrame::sm_eventTable
sm_eventTable__7wxFrame
;wxFrame::sm_eventTableEntries
sm_eventTableEntries__7wxFrame
;wxFrame::sm_classwxFrame
sm_classwxFrame__7wxFrame
;wxFrame::m_bUseNativeStatusBar
m_bUseNativeStatusBar__7wxFrame
;wxFrame::~wxFrame()
__dt__7wxFrameFv
;wxFrame::GetClient()
GetClient__7wxFrameFv
;wxFrame::OS2Create(int,wxWindow*,const char*,wxWindow*,const char*,int,int,int,int,long)
OS2Create__7wxFrameFiP8wxWindowPCcT2T3N41l
;wxFrame::HandleCommand(unsigned short,unsigned short,unsigned long)
HandleCommand__7wxFrameFUsT1Ul
;wxFrame::DoGetSize(int*,int*) const
DoGetSize__7wxFrameCFPiT1
;wxFrame::DoGetPosition(int*,int*) const
DoGetPosition__7wxFrameCFPiT1
;wxFrame::PositionStatusBar()
PositionStatusBar__7wxFrameFv
;wxFrame::PositionToolBar()
@@ -12141,14 +12177,14 @@ EXPORTS
OS2WindowProc__7wxFrameFUiPvT2
;wxFrame::InternalSetMenuBar()
InternalSetMenuBar__7wxFrameFv
;wxFrame::GetDefaultIcon() const
GetDefaultIcon__7wxFrameCFv
;wxFrame::CreateToolBar(long,int,const wxString&)
CreateToolBar__7wxFrameFliRC8wxString
;wxFrame::Maximize(unsigned long)
Maximize__7wxFrameFUl
;wxFrame::SetClient(unsigned long)
SetClient__7wxFrameFUl
;wxFrame::IconizeChildFrames(unsigned long)
IconizeChildFrames__7wxFrameFUl
;wxFrame::SetClient(unsigned long)
SetClient__7wxFrameFUl
;wxFrame::DoGetClientSize(int*,int*) const
DoGetClientSize__7wxFrameCFPiT1
;wxFrame::Init()
@@ -12159,8 +12195,6 @@ EXPORTS
GetEventTable__7wxFrameCFv
;wxFrame::DetachMenuBar()
DetachMenuBar__7wxFrameFv
;wxFrame::AlterChildPos()
AlterChildPos__7wxFrameFv
wxFrameMainWndProc
wxFrameWndProc
;wxFrame::SetClient(wxWindow*)
@@ -14036,6 +14070,49 @@ EXPORTS
Remove__9wxToolTipFv
;wxToolTip::hwndTT
hwndTT__9wxToolTip
;From object file: ..\os2\toplevel.cpp
;PUBDEFs (Symbols available from object file):
__vft19wxTopLevelWindowOS28wxObject
;wxTopLevelWindowOS2::CreateFrame(const wxString&,const wxPoint&,const wxSize&)
CreateFrame__19wxTopLevelWindowOS2FRC8wxStringRC7wxPointRC6wxSize
;wxTopLevelWindowOS2::~wxTopLevelWindowOS2()
__dt__19wxTopLevelWindowOS2Fv
;wxTopLevelWindowOS2::ShowFullScreen(unsigned long,long)
ShowFullScreen__19wxTopLevelWindowOS2FUll
;wxTopLevelWindowOS2::CreateDialog(unsigned long,const wxString&,const wxPoint&,const wxSize&)
CreateDialog__19wxTopLevelWindowOS2FUlRC8wxStringRC7wxPointRC6wxSize
;wxTopLevelWindowOS2::DoShowWindow(int)
DoShowWindow__19wxTopLevelWindowOS2Fi
;wxTopLevelWindowOS2::Init()
Init__19wxTopLevelWindowOS2Fv
;wxTopLevelWindowOS2::OS2GetCreateWindowFlags(long*) const
OS2GetCreateWindowFlags__19wxTopLevelWindowOS2CFPl
;wxTopLevelWindowOS2::Iconize(unsigned long)
Iconize__19wxTopLevelWindowOS2FUl
;wxTopLevelWindowOS2::DoSetClientSize(int,int)
DoSetClientSize__19wxTopLevelWindowOS2FiT1
;wxTopLevelWindowOS2::AlterChildPos()
AlterChildPos__19wxTopLevelWindowOS2Fv
;wxTopLevelWindowOS2::SetIcon(const wxIcon&)
SetIcon__19wxTopLevelWindowOS2FRC6wxIcon
;wxTopLevelWindowOS2::Restore()
Restore__19wxTopLevelWindowOS2Fv
;wxTopLevelWindowOS2::IsMaximized() const
IsMaximized__19wxTopLevelWindowOS2CFv
;wxTopLevelWindowOS2::Maximize(unsigned long)
Maximize__19wxTopLevelWindowOS2FUl
;wxTopLevelWindowOS2::EnableCloseButton(unsigned long)
EnableCloseButton__19wxTopLevelWindowOS2FUl
;wxTopLevelWindowOS2::DoGetClientSize(int*,int*) const
DoGetClientSize__19wxTopLevelWindowOS2CFPiT1
;wxTopLevelWindowOS2::Create(wxWindow*,int,const wxString&,const wxPoint&,const wxSize&,long,const wxString&)
Create__19wxTopLevelWindowOS2FP8wxWindowiRC8wxStringRC7wxPointRC6wxSizelT3
;wxTopLevelWindowOS2::Show(unsigned long)
Show__19wxTopLevelWindowOS2FUl
;wxTopLevelWindowOS2::IsIconized() const
IsIconized__19wxTopLevelWindowOS2CFv
wxDlgProc
wxModelessWindows
;From object file: ..\os2\utils.cpp
;PUBDEFs (Symbols available from object file):
gs_wxBusyCursorOld
@@ -14178,6 +14255,10 @@ EXPORTS
HandleMouseMove__8wxWindowFiT1Ui
;wxWindow::Raise()
Raise__8wxWindowFv
;wxWindowCreationHook::~wxWindowCreationHook()
__dt__20wxWindowCreationHookFv
;wxWindow::Update()
Update__8wxWindowFv
;wxWindow::UnsubclassWin()
UnsubclassWin__8wxWindowFv
;wxWindow::Lower()
@@ -14186,6 +14267,8 @@ EXPORTS
HandleMaximize__8wxWindowFv
;wxWindow::HandleDestroy()
HandleDestroy__8wxWindowFv
;wxWindow::Freeze()
Freeze__8wxWindowFv
;wxWindow::DoPopupMenu(wxMenu*,int,int)
DoPopupMenu__8wxWindowFP6wxMenuiT2
;wxWindow::UnpackCommand(void*,void*,unsigned short*,unsigned long*,unsigned short*)
@@ -14196,6 +14279,8 @@ EXPORTS
sm_eventTable__8wxWindow
;wxWindow::sm_classwxWindow
sm_classwxWindow__8wxWindow
;wxWindowCreationHook::wxWindowCreationHook(wxWindow*)
__ct__20wxWindowCreationHookFP8wxWindow
;wxWindow::SetScrollPos(int,int,unsigned long)
SetScrollPos__8wxWindowFiT1Ul
;wxCharCodeWXToOS2(int,unsigned long*)
@@ -14228,6 +14313,8 @@ EXPORTS
OS2OnMeasureItem__8wxWindowFiPPv
;wxWindow::OS2DestroyWindow()
OS2DestroyWindow__8wxWindowFv
;wxWindow::IsMouseInWindow() const
IsMouseInWindow__8wxWindowCFv
;wxWindow::HandleKeyUp(unsigned long,void*)
HandleKeyUp__8wxWindowFUlPv
;wxWindow::HandleKeyDown(unsigned short,void*)
@@ -14241,6 +14328,8 @@ EXPORTS
wxWndHook
;wxWindow::Reparent(wxWindow*)
Reparent__8wxWindowFP8wxWindow
;wxWindow::OS2GetCreateWindowCoords(const wxPoint&,const wxSize&,int&,int&,int&,int&) const
OS2GetCreateWindowCoords__8wxWindowCFRC7wxPointRC6wxSizeRiN33
;wxWindow::Enable(unsigned long)
Enable__8wxWindowFUl
wxWinHandleList
@@ -14293,6 +14382,8 @@ EXPORTS
;wxAssociateWinWithHandle(unsigned long,wxWindow*)
wxAssociateWinWithHandle__FUlP8wxWindow
s_currentMsg
;wxWindow::OS2Create(char*,const char*,unsigned long,const wxPoint&,const wxSize&,void*,unsigned long,unsigned long)
OS2Create__8wxWindowFPcPCcUlRC7wxPointRC6wxSizePvN23
;wxWindow::GetOS2ParentHeight(wxWindow*)
GetOS2ParentHeight__8wxWindowFP8wxWindow
;wxWindow::Refresh(unsigned long,const wxRect*)
@@ -14340,6 +14431,10 @@ EXPORTS
__dt__8wxWindowFv
;wxGetActiveWindow()
wxGetActiveWindow__Fv
;wxCheckWindowWndProc(unsigned long,void*(*)(unsigned long,unsigned long,void*,void*))
wxCheckWindowWndProc__FUlPFUlT1PvT3_Pv
;wxWindow::Thaw()
Thaw__8wxWindowFv
;wxWindow::OS2WindowProc(unsigned int,void*,void*)
OS2WindowProc__8wxWindowFUiPvT2
;wxWindow::OS2TranslateMessage(void**)
@@ -14374,8 +14469,6 @@ EXPORTS
HandleActivate__8wxWindowFiUl
;wxWindow::FindItemByHWND(unsigned long,unsigned long) const
FindItemByHWND__8wxWindowCFUlT1
;wxWindow::OS2Create(unsigned long,char*,const char*,unsigned long,long,long,long,long,unsigned long,unsigned long,unsigned long,void*,void*,unsigned long)
OS2Create__8wxWindowFUlPcPCcT1lN35N31PvT12_T1
;wxWindow::HandleChar(unsigned long,void*,unsigned long)
HandleChar__8wxWindowFUlPvT1
;wxWindow::DoMoveWindow(int,int,int,int)