#include "xmlhelpr.h"
#include "editor.h"
#include "preview.h"
+#include "nodehnd.h"
BEGIN_EVENT_TABLE(PropEditCtrlTxt, PropEditCtrl)
- EVT_TEXT(-1, PropEditCtrlTxt::OnText)
+ EVT_TEXT(wxID_ANY, PropEditCtrlTxt::OnText)
END_EVENT_TABLE()
wxWindow *PropEditCtrlTxt::CreateEditCtrl()
{
- return (m_TextCtrl = new wxTextCtrl(this, -1));
+ return (m_TextCtrl = new wxTextCtrl(this, wxID_ANY));
}
-void PropEditCtrlTxt::OnText(wxCommandEvent& event)
+void PropEditCtrlTxt::OnText(wxCommandEvent& WXUNUSED(event))
{
- if (CanSave()) WriteValue();
+ if (CanSave())
+ {
+ WriteValue();
+ EditorFrame::Get()->NotifyChanged(CHANGED_PROPS);
+ }
}
{
wxString newv = m_TextCtrl->GetValue();
XmlWriteValue(GetNode(), m_PropInfo->Name, newv);
- m_TreeCtrl->SetItemBold(m_TreeItem, TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeItem, true);
}
wxWindow *PropEditCtrlInt::CreateEditCtrl()
{
PropEditCtrlTxt::CreateEditCtrl();
+#if wxUSE_VALIDATORS
m_TextCtrl->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
+#endif
return m_TextCtrl;
}
BEGIN_EVENT_TABLE(PropEditCtrlBool, PropEditCtrl)
- EVT_CHOICE(-1, PropEditCtrlBool::OnChoice)
+ EVT_CHOICE(wxID_ANY, PropEditCtrlBool::OnChoice)
END_EVENT_TABLE()
wxWindow *PropEditCtrlBool::CreateEditCtrl()
{
- m_Choice = new wxChoice(this, -1);
+ m_Choice = new wxChoice(this, wxID_ANY);
m_Choice->Append(_T("false"));
m_Choice->Append(_T("true"));
return m_Choice;
wxString newv = m_Choice->GetSelection() == 0 ? _T("0") : _T("1");
XmlWriteValue(GetNode(), m_PropInfo->Name, newv);
- m_TreeCtrl->SetItemBold(m_TreeItem, TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeItem, true);
}
-void PropEditCtrlBool::OnChoice(wxCommandEvent& event)
+void PropEditCtrlBool::OnChoice(wxCommandEvent& WXUNUSED(event))
{
- if (CanSave()) WriteValue();
+ if (CanSave())
+ {
+ WriteValue();
+ EditorFrame::Get()->NotifyChanged(CHANGED_PROPS);
+ }
}
public:
PropEditCtrlCoordXY(PropertiesFrame *propFrame, int which)
: PropEditCtrlInt(propFrame), m_which(which) {}
-
+
virtual void ReadValue()
{
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name);
}
m_TextCtrl->SetValue(m_c[m_which]);
}
-
+
virtual void WriteValue()
{
m_c[m_which] = m_TextCtrl->GetValue();
if (m_c[1].IsEmpty()) m_c[1] = _T("-1");
wxString s;
s << m_c[0] << _T(',') << m_c[1];
- if (m_dlg) s << _T('d');
+ wxString prev = XmlReadValue(GetNode(), m_PropInfo->Name);
+ if (prev[prev.Len()-1] == _T('d')) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s);
- m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), true);
}
-
+
virtual wxString GetValueAsText(wxTreeItemId ti)
{
PropertyInfo *pi = &(((PETreeData*)m_TreeCtrl->GetItemData(ti))->PropInfo);
}
return m_c[m_which];
}
-
- virtual wxString GetPropName(const PropertyInfo& pinfo)
+
+ virtual wxString GetPropName(const PropertyInfo& WXUNUSED(pinfo))
{
if (m_which == 0) return _T("x"); else return _T("y");
}
- virtual bool HasClearButton() { return FALSE; }
- virtual bool IsPresent(const PropertyInfo& pinfo) { return FALSE; }
+ virtual bool HasClearButton() { return false; }
+ virtual bool IsPresent(const PropertyInfo& WXUNUSED(pinfo)) { return false; }
+
-
protected:
wxString m_c[2];
- bool m_dlg;
int m_which;
};
public:
PropEditCtrlCoordDlg(PropertiesFrame *propFrame)
: PropEditCtrlBool(propFrame) {}
-
+
virtual void ReadValue()
{
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name);
- if (s.IsEmpty()) m_Choice->SetSelection(0);
+ if (s.IsEmpty()) m_Choice->SetSelection(1);
else if (s[s.Length()-1] == _T('d'))
m_Choice->SetSelection(1);
else
m_Choice->SetSelection(0);
}
-
+
virtual void WriteValue()
{
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name).BeforeFirst(_T('d'));
if (m_Choice->GetSelection() == 1) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s);
- m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), true);
}
-
+
virtual wxString GetValueAsText(wxTreeItemId ti)
{
PropertyInfo *pi = &(((PETreeData*)m_TreeCtrl->GetItemData(ti))->PropInfo);
wxString s = XmlReadValue(GetNode(), pi->Name);
- if (s.IsEmpty() || s[s.Length()-1] != _T('d'))
+ if (s.IsEmpty())
+ return _("true");
+ else if (s[s.Length()-1] != _T('d'))
return _("false");
else
return _("true");
}
-
- virtual wxString GetPropName(const PropertyInfo& pinfo)
+
+ virtual wxString GetPropName(const PropertyInfo& WXUNUSED(pinfo))
{
return _T("dlg");
}
- virtual bool HasClearButton() { return FALSE; }
- virtual bool IsPresent(const PropertyInfo& pinfo) { return FALSE; }
+ virtual bool HasClearButton() { return false; }
+ virtual bool IsPresent(const PropertyInfo& WXUNUSED(pinfo)) { return false; }
};
public:
PropEditCtrlDimX(PropertiesFrame *propFrame)
: PropEditCtrlInt(propFrame){}
-
+
virtual void ReadValue()
{
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name);
m_c = s.BeforeFirst(_T('d'));
m_TextCtrl->SetValue(m_c);
}
-
+
virtual void WriteValue()
{
wxString s = XmlReadValue(GetNode(), m_PropInfo->Name);
s = m_c;
if (dlg) s << _T('d');
XmlWriteValue(GetNode(), m_PropInfo->Name, s);
- m_TreeCtrl->SetItemBold(m_TreeCtrl->GetParent(m_TreeItem), TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeCtrl->GetItemParent(m_TreeItem), true);
}
-
+
virtual wxString GetValueAsText(wxTreeItemId ti)
{
PropertyInfo *pi = &(((PETreeData*)m_TreeCtrl->GetItemData(ti))->PropInfo);
return XmlReadValue(GetNode(), pi->Name).BeforeFirst(_T('d'));
}
-
- virtual wxString GetPropName(const PropertyInfo& pinfo)
+
+ virtual wxString GetPropName(const PropertyInfo& WXUNUSED(pinfo))
{
return _T("val");
}
- virtual bool HasClearButton() { return FALSE; }
- virtual bool IsPresent(const PropertyInfo& pinfo) { return FALSE; }
+ virtual bool HasClearButton() { return false; }
+ virtual bool IsPresent(const PropertyInfo& WXUNUSED(pinfo)) { return false; }
+
-
protected:
wxString m_c;
};
-// --------------------- PropEditCtrlXMLID -----------------------------
+// --------------------- PropEditCtrlXRCID -----------------------------
+
+#define REAL_NODE (NodeHandler::Find(GetNode())->GetRealNode(GetNode()))
-void PropEditCtrlXMLID::ReadValue()
+void PropEditCtrlXRCID::ReadValue()
{
- m_TextCtrl->SetValue(GetNode()->GetPropVal(_T("name"), wxEmptyString));
+ m_TextCtrl->SetValue(REAL_NODE->GetPropVal(_T("name"), wxEmptyString));
}
-void PropEditCtrlXMLID::WriteValue()
+void PropEditCtrlXRCID::WriteValue()
{
wxString s =m_TextCtrl->GetValue();
if (s.IsEmpty()) s = _T("-1");
- GetNode()->DeleteProperty(_T("name"));
- GetNode()->AddProperty(_T("name"), s);
+ REAL_NODE->DeleteProperty(_T("name"));
+ REAL_NODE->AddProperty(_T("name"), s);
- m_TreeCtrl->SetItemBold(m_TreeItem, TRUE);
+ m_TreeCtrl->SetItemBold(m_TreeItem, true);
EditorFrame::Get()->NotifyChanged(CHANGED_TREE_SELECTED);
}
-void PropEditCtrlXMLID::Clear()
+void PropEditCtrlXRCID::Clear()
{
EndEdit();
- GetNode()->DeleteProperty(_T("name"));
- m_TreeCtrl->SetItemBold(m_TreeItem, FALSE);
+ REAL_NODE->DeleteProperty(_T("name"));
+ m_TreeCtrl->SetItemBold(m_TreeItem, false);
EditorFrame::Get()->NotifyChanged(CHANGED_TREE_SELECTED);
}
-void PropEditCtrlXMLID::OnDetails()
+void PropEditCtrlXRCID::OnDetails()
{
wxString choices[] = {wxString(_T("-1"))
- #define stdID(id) , wxString(#id)
+ #define stdID(id) , wxString(_T(#id))
stdID(wxID_OK) stdID(wxID_CANCEL)
stdID(wxID_YES) stdID(wxID_NO)
- stdID(wxID_APPLY) stdID(wxID_HELP)
+ stdID(wxID_APPLY) stdID(wxID_HELP)
stdID(wxID_HELP_CONTEXT)
stdID(wxID_OPEN) stdID(wxID_CLOSE) stdID(wxID_NEW)
stdID(wxID_HELP_COMMANDS) stdID(wxID_HELP_PROCEDURES)
stdID(wxID_CUT) stdID(wxID_COPY) stdID(wxID_PASTE)
stdID(wxID_CLEAR) stdID(wxID_FIND) stdID(wxID_DUPLICATE)
- stdID(wxID_SELECTALL)
+ stdID(wxID_SELECTALL)
stdID(wxID_STATIC) stdID(wxID_FORWARD) stdID(wxID_BACKWARD)
stdID(wxID_DEFAULT) stdID(wxID_MORE) stdID(wxID_SETUP)
- stdID(wxID_RESET)
+ stdID(wxID_RESET)
#undef stdID
};
- wxString s =
- wxGetSingleChoice(_("Choose from predefined IDs:"), _("XMLID"),
+ wxString s =
+ wxGetSingleChoice(_("Choose from predefined IDs:"), _("XRCID"),
38/*sizeof choices*/, choices);
if (!s) return;
m_TextCtrl->SetValue(s);
WriteValue();
+ EditorFrame::Get()->NotifyChanged(CHANGED_PROPS);
}
-wxString PropEditCtrlXMLID::GetValueAsText(wxTreeItemId ti)
+wxString PropEditCtrlXRCID::GetValueAsText(wxTreeItemId WXUNUSED(ti))
{
- return GetNode()->GetPropVal(_T("name"), wxEmptyString);
+ return REAL_NODE->GetPropVal(_T("name"), wxEmptyString);
}
-bool PropEditCtrlXMLID::IsPresent(const PropertyInfo& pinfo)
+bool PropEditCtrlXRCID::IsPresent(const PropertyInfo& WXUNUSED(pinfo))
{
- return GetNode()->HasProp(_T("name"));
+ return REAL_NODE->HasProp(_T("name"));
}
-
-
+#undef REAL_NODE