git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27631 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
275 lines
7.3 KiB
C++
275 lines
7.3 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: configtoolview.h
|
|
// Purpose: View class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 2003-06-04
|
|
// RCS-ID: $Id$
|
|
// Copyright: (c) Julian Smart
|
|
// Licence:
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _CT_CONFIGTOOLVIEW_H_
|
|
#define _CT_CONFIGTOOLVIEW_H_
|
|
|
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
|
#pragma interface "configtoolview.cpp"
|
|
#endif
|
|
|
|
#include "wx/docview.h"
|
|
#include "wx/treectrl.h"
|
|
#include "wx/fdrepdlg.h"
|
|
#include "configitem.h"
|
|
|
|
class ctConfigTreeCtrl;
|
|
class WXDLLEXPORT wxNotebookEvent;
|
|
|
|
/*
|
|
* ctConfigToolView
|
|
*/
|
|
|
|
class ctConfigItem;
|
|
class ctConfigToolView: public wxView
|
|
{
|
|
DECLARE_DYNAMIC_CLASS(ctConfigToolView)
|
|
public:
|
|
ctConfigToolView();
|
|
~ctConfigToolView() {};
|
|
|
|
//// Overrides
|
|
|
|
bool OnCreate(wxDocument *doc, long flags);
|
|
void OnDraw(wxDC *dc);
|
|
void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
|
|
bool OnClose(bool deleteWindow = true);
|
|
void OnChangeFilename();
|
|
|
|
//// Operations
|
|
|
|
/// Gets the tree item in sync with the item.
|
|
void SyncItem(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
|
|
|
|
/// Add item and its children to the tree
|
|
void AddItems(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
|
|
|
|
/// Clicked an icon
|
|
void OnIconLeftDown(ctConfigTreeCtrl* treeControl, ctConfigItem* item);
|
|
|
|
/// Add an item
|
|
void AddItem(ctConfigType type, const wxString& msg);
|
|
|
|
/// Regenerate setup.h and configure command
|
|
void RegenerateSetup();
|
|
|
|
//// Accessors
|
|
|
|
/// Returns the selected config item, if any.
|
|
ctConfigItem* GetSelection();
|
|
|
|
//// Event handlers
|
|
|
|
/// General disabler
|
|
void OnUpdateDisable(wxUpdateUIEvent& event);
|
|
|
|
/// Enable add item menu items
|
|
void OnUpdateAddItem(wxUpdateUIEvent& event);
|
|
|
|
/// Add a checkbox item
|
|
void OnAddCheckBoxItem(wxCommandEvent& event);
|
|
|
|
/// Add a radiobutton item
|
|
void OnAddRadioButtonItem(wxCommandEvent& event);
|
|
|
|
/// Add a group item
|
|
void OnAddGroupItem(wxCommandEvent& event);
|
|
|
|
/// Add a check group item
|
|
void OnAddCheckGroupItem(wxCommandEvent& event);
|
|
|
|
/// Add a radio group item
|
|
void OnAddRadioGroupItem(wxCommandEvent& event);
|
|
|
|
/// Add a string item
|
|
void OnAddStringItem(wxCommandEvent& event);
|
|
|
|
/// Delete an item
|
|
void OnDeleteItem(wxCommandEvent& event);
|
|
|
|
/// Rename an item
|
|
void OnRenameItem(wxCommandEvent& event);
|
|
|
|
/// Copy an item to the clipboard
|
|
void OnCopy(wxCommandEvent& event);
|
|
|
|
/// Copy an item to the clipboard and cut the item
|
|
void OnCut(wxCommandEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnPaste(wxCommandEvent& event);
|
|
|
|
/// Item help
|
|
void OnItemHelp(wxCommandEvent& event);
|
|
|
|
/// Update for copy command
|
|
void OnUpdateCopy(wxUpdateUIEvent& event);
|
|
|
|
/// Update for cut
|
|
void OnUpdateCut(wxUpdateUIEvent& event);
|
|
|
|
/// Update for paste
|
|
void OnUpdatePaste(wxUpdateUIEvent& event);
|
|
|
|
/// Update for item help
|
|
void OnUpdateItemHelp(wxUpdateUIEvent& event);
|
|
|
|
// Context menu events
|
|
|
|
/// Copy an item to the clipboard
|
|
void OnContextCopy(wxCommandEvent& event);
|
|
|
|
/// Copy an item to the clipboard and cut the item
|
|
void OnContextCut(wxCommandEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnContextPasteBefore(wxCommandEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnContextPasteAfter(wxCommandEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnContextPasteAsChild(wxCommandEvent& event);
|
|
|
|
/// Copy an item to the clipboard
|
|
void OnUpdateContextCopy(wxUpdateUIEvent& event);
|
|
|
|
/// Copy an item to the clipboard and cut the item
|
|
void OnUpdateContextCut(wxUpdateUIEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnUpdateContextPasteBefore(wxUpdateUIEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnUpdateContextPasteAfter(wxUpdateUIEvent& event);
|
|
|
|
/// Paste an item from the clipboard to the tree
|
|
void OnUpdateContextPasteAsChild(wxUpdateUIEvent& event);
|
|
|
|
// Custom property events
|
|
|
|
/// Add a custom property
|
|
void OnAddCustomProperty(wxCommandEvent& event);
|
|
|
|
/// Edit a custom property
|
|
void OnEditCustomProperty(wxCommandEvent& event);
|
|
|
|
/// Delete a custom property
|
|
void OnDeleteCustomProperty(wxCommandEvent& event);
|
|
|
|
/// Add a custom property: update event
|
|
void OnUpdateAddCustomProperty(wxUpdateUIEvent& event);
|
|
|
|
/// Edit a custom property: update event
|
|
void OnUpdateEditCustomProperty(wxUpdateUIEvent& event);
|
|
|
|
/// Delete a custom property: update event
|
|
void OnUpdateDeleteCustomProperty(wxUpdateUIEvent& event);
|
|
|
|
// Notebook events
|
|
|
|
/// Regenerate if selected a tab
|
|
void OnTabSelect(wxNotebookEvent& event);
|
|
|
|
/// Saving setup file
|
|
void OnSaveSetupFile(wxCommandEvent& event);
|
|
|
|
/// Save configure command file
|
|
void OnSaveConfigureCommand(wxCommandEvent& event);
|
|
|
|
/// Saving setup file update handler
|
|
void OnUpdateSaveSetupFile(wxUpdateUIEvent& event);
|
|
|
|
/// Save configure command file update handler
|
|
void OnUpdateSaveConfigureCommand(wxUpdateUIEvent& event);
|
|
|
|
// Find
|
|
|
|
/// Find text
|
|
void OnFind(wxCommandEvent& event);
|
|
|
|
/// Update find text
|
|
void OnUpdateFind(wxUpdateUIEvent& event);
|
|
|
|
// Go (now: save setup.h or configurewx.sh. later: invoke configure/make)
|
|
|
|
/// Save default file type
|
|
void OnGo(wxCommandEvent& event);
|
|
|
|
/// Update
|
|
void OnUpdateGo(wxUpdateUIEvent& event);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
|
|
protected:
|
|
};
|
|
|
|
/*
|
|
* ctConfigToolHint
|
|
*
|
|
* Hint to pass to UpdateAllViews
|
|
*
|
|
*/
|
|
|
|
// Update hint symbols
|
|
#define ctNoHint 0
|
|
#define ctAllSaved 1
|
|
#define ctClear 2
|
|
#define ctValueChanged 3
|
|
#define ctSelChanged 4
|
|
#define ctFilenameChanged 5
|
|
#define ctInitialUpdate 6
|
|
|
|
class ctConfigItem;
|
|
class ctConfigToolHint: public wxObject
|
|
{
|
|
public:
|
|
ctConfigToolHint(ctConfigItem* item, int op) { m_item = item; m_op = op; }
|
|
|
|
ctConfigItem* m_item;
|
|
int m_op;
|
|
};
|
|
|
|
/*
|
|
* ctFindReplaceDialog
|
|
*/
|
|
|
|
class ctFindReplaceDialog: public wxFindReplaceDialog
|
|
{
|
|
public:
|
|
// constructors and destructors
|
|
ctFindReplaceDialog( wxWindow* parent, const wxString& title,
|
|
long style = 0 );
|
|
|
|
void OnFind(wxFindDialogEvent& event);
|
|
void OnClose(wxFindDialogEvent& event);
|
|
|
|
// If wrap is true, go back to the beginning if at the end of the
|
|
// document.
|
|
bool DoFind(const wxString& textToFind, bool matchCase, bool wholeWord, bool wrap = true);
|
|
|
|
ctConfigItem* FindNextItem(ctConfigToolDoc* doc,
|
|
ctConfigItem* item,
|
|
const wxString& text,
|
|
bool matchCase,
|
|
bool matchWordOnly,
|
|
bool wrap,
|
|
bool skipFirst);
|
|
static wxFindReplaceData sm_findData;
|
|
static wxString sm_currentItem; // card name
|
|
|
|
private:
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#endif
|
|
// _CT_CONFIGTOOLVIEW_H_
|