0ad/source/tools/atlas/AtlasUI/CustomControls/EditableListCtrl/FieldEditCtrl.h
Ykkrosh a1a7dac59c # Integrated Actor Viewer and Actor Editor tools
ObjectManager: Removed ObjectTypes because it hasn't been used for
years.
Atlas: Fixed leak when saving with Xerces. Changed range of water
shininess slider.
Actor Editor: Relabelled "Freq" to "Ratio". Made modal dialogs use the
correct parent.

This was SVN commit r4376.
2006-09-22 17:43:00 +00:00

81 lines
1.8 KiB
C++

#ifndef FIELDEDITCTRL_H__
#define FIELDEDITCTRL_H__
class EditableListCtrl;
class AtlasDialog;
class FieldEditCtrl
{
friend class EditableListCtrl;
public:
virtual ~FieldEditCtrl() {};
protected:
virtual void StartEdit(wxWindow* parent, wxRect rect, long row, int col)=0;
};
//////////////////////////////////////////////////////////////////////////
class FieldEditCtrl_Text : public FieldEditCtrl
{
protected:
void StartEdit(wxWindow* parent, wxRect rect, long row, int col);
};
//////////////////////////////////////////////////////////////////////////
class FieldEditCtrl_Colour : public FieldEditCtrl
{
protected:
void StartEdit(wxWindow* parent, wxRect rect, long row, int col);
};
//////////////////////////////////////////////////////////////////////////
class FieldEditCtrl_List : public FieldEditCtrl
{
public:
// listType must remain valid at least until StartEdit has been called
FieldEditCtrl_List(const char* listType);
protected:
void StartEdit(wxWindow* parent, wxRect rect, long row, int col);
private:
const char* m_ListType;
};
//////////////////////////////////////////////////////////////////////////
class FieldEditCtrl_Dialog : public FieldEditCtrl
{
public:
FieldEditCtrl_Dialog(AtlasDialog* (*dialogCtor)(wxWindow*));
protected:
void StartEdit(wxWindow* parent, wxRect rect, long row, int col);
private:
AtlasDialog* (*m_DialogCtor)(wxWindow*);
};
//////////////////////////////////////////////////////////////////////////
class FieldEditCtrl_File : public FieldEditCtrl
{
public:
// rootDir is relative to mods/official, and must end with a /
FieldEditCtrl_File(const wxString& rootDir, const wxString& fileMask);
protected:
void StartEdit(wxWindow* parent, wxRect rect, long row, int col);
private:
wxString m_RootDir;
wxString m_FileMask;
wxString m_RememberedDir;
};
#endif // FIELDEDITCTRL_H__