home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
wxos2240.zip
/
wxWindows-2.4.0
/
contrib
/
utils
/
wxrcedit
/
propedit.h
< prev
next >
Wrap
C/C++ Source or Header
|
2002-09-07
|
3KB
|
88 lines
/////////////////////////////////////////////////////////////////////////////
// Purpose: XML resources editor
// Author: Vaclav Slavik
// Created: 2000/05/05
// RCS-ID: $Id: propedit.h,v 1.5 2002/09/07 12:15:24 GD Exp $
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "propedit.h"
#endif
#ifndef _PROPEDIT_H_
#define _PROPEDIT_H_
#include "wx/panel.h"
#include "wx/treectrl.h"
#include "nodesdb.h"
#include "propframe.h"
class WXDLLEXPORT wxXmlNode;
class WXDLLEXPORT wxTreeCtrl;
class WXDLLEXPORT wxTextCtrl;
class PropEditCtrl : public wxPanel
{
public:
PropEditCtrl(PropertiesFrame *propFrame)
: wxPanel(propFrame->m_valueWindow, -1),
m_PropFrame(propFrame), m_Created(FALSE), m_TreeCtrl(propFrame->m_tree)
{Show(FALSE);}
virtual void BeginEdit(const wxRect& rect, wxTreeItemId ti);
virtual void EndEdit();
virtual wxTreeItemId CreateTreeEntry(wxTreeItemId parent, const PropertyInfo& pinfo);
virtual wxWindow* CreateEditCtrl() = 0;
virtual bool IsPresent(const PropertyInfo& pinfo);
virtual void Clear();
virtual void ReadValue() = 0;
virtual void WriteValue() = 0;
virtual wxString GetValueAsText(wxTreeItemId ti);
virtual wxString GetPropName(const PropertyInfo& pinfo)
{ return pinfo.Name.AfterLast(_T('/')); }
virtual bool HasDetails() { return FALSE; }
virtual void OnDetails() {}
virtual bool HasClearButton() { return TRUE; }
void OnButtonDetails(wxCommandEvent& event);
void OnButtonClear(wxCommandEvent& event);
protected:
wxXmlNode *GetNode() { return m_PropFrame->m_Node; }
bool CanSave() { return m_CanSave; }
PropertiesFrame *m_PropFrame;
bool m_Created;
wxTreeCtrl *m_TreeCtrl;
wxTreeItemId m_TreeItem;
wxWindow *m_TheCtrl;
PropertyInfo *m_PropInfo;
bool m_CanSave;
DECLARE_EVENT_TABLE()
};
class PETreeData : public wxTreeItemData
{
public:
PETreeData(PropEditCtrl *p, const PropertyInfo& pi) :
wxTreeItemData(),
EditCtrl(p), PropInfo(pi) {}
PropEditCtrl *EditCtrl;
PropertyInfo PropInfo;
};
#endif