w = size.x == wxDefaultCoord ? 1 : size.x,
h = size.y == wxDefaultCoord ? 1 : size.y;
- AdjustForParentClientOrigin(x, y);
+ wxWindow *win = this;
+ while(win->GetParent())
+ {
+ win = win->GetParent();
+ wxPoint pt(win->GetClientAreaOrigin());
+ x += pt.x;
+ y += pt.y;
+ }
ControlType *control = CtlNewControl(
(void **)&form,
void wxControl::DoGetPosition( int *x, int *y ) const
{
+ int ox = 0, oy = 0;
+ AdjustForParentClientOrigin(ox, oy);
+
RectangleType rect;
DoGetBounds(rect);
+
if(x)
- *x = rect.topLeft.x;
+ *x = rect.topLeft.x - ox;
if(y)
- *y = rect.topLeft.y;
+ *y = rect.topLeft.y - oy;
}
void wxControl::DoGetSize( int *width, int *height ) const
{
RectangleType rect;
DoGetBounds(rect);
+
if(width)
*width = rect.extent.x;
if(height)
bool wxControl::Enable(bool enable)
{
ControlType *control = (ControlType *)GetObjectPtr();
- if( (IsPalmControl()) || (control == NULL))
+ if( !IsPalmControl() || (control == NULL))
return false;
if( CtlEnabled(control) == enable)
return false;
bool wxControl::IsEnabled() const
{
ControlType *control = (ControlType *)GetObjectPtr();
- if( (IsPalmControl()) || (control == NULL))
+ if( !IsPalmControl() || (control == NULL))
return false;
return CtlEnabled(control);
}