#ifndef WXSPALETTE_H
#define WXSPALETTE_H
#include <wx/panel.h>
#include <wx/radiobut.h>
#include <wx/timer.h>
#include "wxsevent.h"
class wxSmith;
class wxsWidget;
class wxsResource;
class wxsPalette : public wxPanel
{
public:
static const int itBefore = 0x01;
static const int itAfter = 0x02;
static const int itInto = 0x04;
/** Constructor */
wxsPalette(wxWindow* Parent,int PageNum);
/** Destructor */
virtual ~wxsPalette();
/** Getting singleton object - one palette inside whole plugin*/
static wxsPalette* Get() { return Singleton; }
/** Getting current insertion type */
int GetInsertionType();
private:
/** Currently selected resource */
wxsResource* SelectedRes;
/** Currently selected widget */
wxsWidget* SelectedWidget;
/* Checkboxes */
wxRadioButton* AddBefore;
wxRadioButton* AddAfter;
wxRadioButton* AddInto;
/** Current insertion type */
int InsType;
/** Current insertion type mask */
int InsTypeMask;
/** Page number */
int PageNum;
/** Timer object used to flush code changes */
wxTimer Timer;
/** Singleton object */
static wxsPalette* Singleton;
/** Funcntion creating palette of widgets in given window */
void CreateWidgetsPalette(wxWindow* Wnd);
/** Function inserting widget with giwen name */
void InsertRequest(const wxString& Name);
/** Function adding new widget before given one */
void InsertBefore(wxsWidget* NewWidget,wxsWidget* Reference);
/** Function adding new widget after given one */
void InsertAfter(wxsWidget* NewWidget,wxsWidget* Reference);
/** Function adding new widget into given one */
void InsertInto(wxsWidget* NewWidget,wxsWidget* Reference);
/** Function deleting currently selected widget */
void DeleteRequest();
/** Function showing preview of currently selected resource */
void PreviewRequest();
/** Setting mask for insertion type */
void SetInsertionTypeMask(int Mask);
/* Event-processing functions */
void OnRadio(wxCommandEvent& event);
void OnButton(wxCommandEvent& event);
void OnSelectRes(wxsEvent& event);
void OnUnselectRes(wxsEvent& event);
void OnSelectWidget(wxsEvent& event);
void OnUnselectWidget(wxsEvent& event);
void OnTimer(wxTimerEvent& event);
DECLARE_EVENT_TABLE()
};
#endif // WXSPALETTE_H
syntax highlighted by Code2HTML, v. 0.9.1