wxControl::~wxControl()
{
+ SetLabel(wxEmptyString);
m_isBeingDeleted = true;
+
+ DestroyChildren();
+
+ uint16_t index;
+ FormType* form = GetObjectFormIndex(index);
+ if(form!=NULL && index!=frmInvalidObjectId)
+ {
+ FrmRemoveObject((FormType **)&form,index);
+ }
}
// ----------------------------------------------------------------------------
const wxString& label,
const wxPoint& pos,
const wxSize& size,
- int groupID)
+ uint8_t groupID)
{
FormType* form = GetParentForm();
if(form==NULL)
return false;
- m_label = label;
+
+ wxCoord x = pos.x == wxDefaultCoord ? 0 : pos.x,
+ y = pos.y == wxDefaultCoord ? 0 : pos.y,
+ w = size.x == wxDefaultCoord ? 1 : size.x,
+ h = size.y == wxDefaultCoord ? 1 : size.y;
+
+ AdjustForParentClientOrigin(x, y);
ControlType *control = CtlNewControl(
(void **)&form,
GetId(),
style,
- m_label.c_str(),
- ( pos.x == wxDefaultCoord ) ? winUndefConstraint : pos.x,
- ( pos.y == wxDefaultCoord ) ? winUndefConstraint : pos.y,
- ( size.x == wxDefaultCoord ) ? winUndefConstraint : size.x,
- ( size.y == wxDefaultCoord ) ? winUndefConstraint : size.y,
+ wxEmptyString,
+ x,
+ y,
+ w,
+ h,
stdFont,
groupID,
- false
+ true
);
if(control==NULL)
m_palmControl = true;
+ SetInitialBestSize(size);
+ SetLabel(label);
Show();
return true;
}
m_label = label;
+ wxCoord x = pos.x == wxDefaultCoord ? 0 : pos.x,
+ y = pos.y == wxDefaultCoord ? 0 : pos.y,
+ w = size.x == wxDefaultCoord ? 1 : size.x,
+ h = size.y == wxDefaultCoord ? 1 : size.y;
+
+ AdjustForParentClientOrigin(x, y);
+
FieldType *field = FldNewField(
(void **)&form,
GetId(),
- ( pos.x == wxDefaultCoord ) ? winUndefConstraint : pos.x,
- ( pos.y == wxDefaultCoord ) ? winUndefConstraint : pos.y,
- ( size.x == wxDefaultCoord ) ? winUndefConstraint : size.x,
- ( size.y == wxDefaultCoord ) ? winUndefConstraint : size.y,
+ x,
+ y,
+ w,
+ h,
stdFont,
10,
editable,
m_palmField = true;
- Show();
+ SetInitialBestSize(size);
SetLabel(label);
+ Show();
return true;
}
return tlw->GetForm();
}
-uint16_t wxControl::GetObjectIndex() const
+FormType* wxControl::GetObjectFormIndex(uint16_t& index) const
{
FormType* form = GetParentForm();
- if(form==NULL)return frmInvalidObjectId;
- return FrmGetObjectIndex(form, GetId());
+ if(form!=NULL)
+ index = FrmGetObjectIndex(form, GetId());
+ else
+ index = frmInvalidObjectId;
+ return form;
}
void* wxControl::GetObjectPtr() const
{
- FormType* form = GetParentForm();
- if(form==NULL)return NULL;
- uint16_t index = FrmGetObjectIndex(form, GetId());
- if(index==frmInvalidObjectId)return NULL;
+ uint16_t index;
+ FormType* form = GetObjectFormIndex(index);
+ if(form==NULL || index==frmInvalidObjectId)return NULL;
return FrmGetObjectPtr(form,index);
}
void wxControl::SetControlLabel(const wxString& label)
{
+ ControlType* control = (ControlType*)GetObjectPtr();
+ if(control==NULL)
+ return;
+ CtlSetLabel(control,wxEmptyString);
+ m_label = label;
+ if(!m_label.empty())
+ CtlSetLabel(control,m_label.c_str());
}
void wxControl::SetLabel(const wxString& label)