Files correlati : Commento : Spostamento in libraries delle librerie esterne di Campo per una maggiore pulizia e organizzazione git-svn-id: svn://10.65.10.50/branches/R_10_00@24150 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			271 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			271 lines
		
	
	
		
			8.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        propertygridsample.h
 | 
						|
// Purpose:     wxPropertyGrid sample
 | 
						|
// Author:      Jaakko Salli
 | 
						|
// Modified by:
 | 
						|
// Created:     Sep-25-2004
 | 
						|
// RCS-ID:      $Id:
 | 
						|
// Copyright:   (c) Jaakko Salli
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _PROPGRIDSAMPLE_H_
 | 
						|
#define _PROPGRIDSAMPLE_H_
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
// Declare custom user properties.
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
WX_PG_DECLARE_CUSTOM_FLAGS_PROPERTY(wxTestCustomFlagsProperty)
 | 
						|
 | 
						|
WX_PG_DECLARE_CUSTOM_ENUM_PROPERTY(wxTestCustomEnumProperty)
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
class wxAdvImageFileProperty : public wxFileProperty
 | 
						|
{
 | 
						|
    WX_PG_DECLARE_PROPERTY_CLASS(wxAdvImageFileProperty)
 | 
						|
public:
 | 
						|
 | 
						|
    wxAdvImageFileProperty( const wxString& label = wxPG_LABEL,
 | 
						|
                            const wxString& name = wxPG_LABEL,
 | 
						|
                            const wxString& value = wxEmptyString );
 | 
						|
    virtual ~wxAdvImageFileProperty ();
 | 
						|
 | 
						|
    virtual void OnSetValue();  // Override to allow image loading.
 | 
						|
 | 
						|
    WX_PG_DECLARE_CHOICE_METHODS()
 | 
						|
    WX_PG_DECLARE_EVENT_METHODS()
 | 
						|
    WX_PG_DECLARE_CUSTOM_PAINT_METHODS()
 | 
						|
 | 
						|
    void LoadThumbnails( size_t n );
 | 
						|
 | 
						|
protected:
 | 
						|
    wxImage*    m_pImage; // Temporary thumbnail data.
 | 
						|
 | 
						|
    static wxPGChoices ms_choices;
 | 
						|
 | 
						|
    int m_index; // Index required for choice behaviour.
 | 
						|
};
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
class wxVector3f
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxVector3f()
 | 
						|
    {
 | 
						|
        x = y = z = 0.0;
 | 
						|
    }
 | 
						|
    wxVector3f( double x, double y, double z )
 | 
						|
    {
 | 
						|
        x = x; y = y; z = z;
 | 
						|
    }
 | 
						|
 | 
						|
    double x, y, z;
 | 
						|
};
 | 
						|
 | 
						|
inline bool operator == (const wxVector3f& a, const wxVector3f& b)
 | 
						|
{
 | 
						|
    return (a.x == b.x && a.y == b.y && a.z == b.z);
 | 
						|
}
 | 
						|
 | 
						|
WX_PG_DECLARE_VARIANT_DATA(wxVector3fVariantData, wxVector3f, wxPG_NO_DECL)
 | 
						|
 | 
						|
class wxVectorProperty : public wxPGProperty
 | 
						|
{
 | 
						|
    WX_PG_DECLARE_PROPERTY_CLASS(wxVectorProperty)
 | 
						|
public:
 | 
						|
 | 
						|
    wxVectorProperty( const wxString& label = wxPG_LABEL,
 | 
						|
                      const wxString& name = wxPG_LABEL,
 | 
						|
                      const wxVector3f& value = wxVector3f() );
 | 
						|
    virtual ~wxVectorProperty();
 | 
						|
 | 
						|
    WX_PG_DECLARE_PARENTAL_METHODS()
 | 
						|
 | 
						|
protected:
 | 
						|
};
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
class wxTriangle
 | 
						|
{
 | 
						|
public:
 | 
						|
    wxVector3f a, b, c;
 | 
						|
};
 | 
						|
 | 
						|
inline bool operator == (const wxTriangle& a, const wxTriangle& b)
 | 
						|
{
 | 
						|
    return (a.a == b.a && a.b == b.b && a.c == b.c);
 | 
						|
}
 | 
						|
 | 
						|
WX_PG_DECLARE_VARIANT_DATA(wxTriangleVariantData, wxTriangle, wxPG_NO_DECL)
 | 
						|
 | 
						|
class wxTriangleProperty : public wxPGProperty
 | 
						|
{
 | 
						|
    WX_PG_DECLARE_PROPERTY_CLASS(wxTriangleProperty)
 | 
						|
public:
 | 
						|
 | 
						|
    wxTriangleProperty( const wxString& label = wxPG_LABEL,
 | 
						|
                        const wxString& name = wxPG_LABEL,
 | 
						|
                        const wxTriangle& value = wxTriangle() );
 | 
						|
    virtual ~wxTriangleProperty();
 | 
						|
 | 
						|
    WX_PG_DECLARE_PARENTAL_METHODS()
 | 
						|
 | 
						|
protected:
 | 
						|
};
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
enum
 | 
						|
{
 | 
						|
    ID_COLOURSCHEME4 = 100
 | 
						|
};
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
class FormMain : public wxFrame
 | 
						|
{
 | 
						|
public:
 | 
						|
    FormMain(const wxString& title, const wxPoint& pos, const wxSize& size );
 | 
						|
	~FormMain();
 | 
						|
 | 
						|
    wxPropertyGridManager*  m_pPropGridManager;
 | 
						|
    wxPropertyGrid*     m_propGrid;
 | 
						|
 | 
						|
    wxTextCtrl*     m_tcPropLabel;
 | 
						|
    wxWindow*       m_panel;
 | 
						|
    wxBoxSizer*     m_topSizer;
 | 
						|
 | 
						|
    wxPGChoices     m_combinedFlags;
 | 
						|
 | 
						|
    wxMenuItem*     m_itemCatColours;
 | 
						|
    wxMenuItem*     m_itemFreeze;
 | 
						|
    wxMenuItem*     m_itemEnable;
 | 
						|
 | 
						|
    wxVariant       m_storedValues;
 | 
						|
 | 
						|
    wxString        m_savedState;
 | 
						|
 | 
						|
 | 
						|
    void CreateGrid( int style, int extraStyle );
 | 
						|
    void FinalizeFramePosition();
 | 
						|
 | 
						|
    // These are used in CreateGrid(), and in tests to compose
 | 
						|
    // grids for testing purposes.
 | 
						|
    void InitPanel();
 | 
						|
    void PopulateGrid();
 | 
						|
    void FinalizePanel( bool wasCreated = true );
 | 
						|
 | 
						|
    void PopulateWithStandardItems();
 | 
						|
    void PopulateWithExamples();
 | 
						|
    void PopulateWithLibraryConfig();
 | 
						|
 | 
						|
    void OnCloseClick( wxCommandEvent& event );
 | 
						|
    void OnLabelTextChange( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnColourScheme( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnInsertPropClick( wxCommandEvent& event );
 | 
						|
    void OnAppendPropClick( wxCommandEvent& event );
 | 
						|
    void OnClearClick( wxCommandEvent& event );
 | 
						|
    void OnAppendCatClick( wxCommandEvent& event );
 | 
						|
    void OnInsertCatClick( wxCommandEvent& event );
 | 
						|
    void OnDelPropClick( wxCommandEvent& event );
 | 
						|
    void OnDelPropRClick( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnContextMenu( wxContextMenuEvent& event );
 | 
						|
 | 
						|
    void OnEnableDisable( wxCommandEvent& event );
 | 
						|
    void OnSetReadOnly( wxCommandEvent& event );
 | 
						|
    void OnHide( wxCommandEvent& event );
 | 
						|
    void OnClearModifyStatusClick( wxCommandEvent& event );
 | 
						|
    void OnFreezeClick( wxCommandEvent& event );
 | 
						|
    void OnEnableLabelEditing( wxCommandEvent& event );
 | 
						|
    void OnDumpList( wxCommandEvent& event );
 | 
						|
    void OnCatColours( wxCommandEvent& event );
 | 
						|
    void OnSetColumns( wxCommandEvent& event );
 | 
						|
    void OnMisc( wxCommandEvent& event );
 | 
						|
    void OnPopulateClick( wxCommandEvent& event );
 | 
						|
    void OnSetSpinCtrlEditorClick( wxCommandEvent& event );
 | 
						|
    void OnTestReplaceClick( wxCommandEvent& event );
 | 
						|
    void OnSelectNoPage( wxCommandEvent& event );
 | 
						|
    void OnTestXRC( wxCommandEvent& event );
 | 
						|
    void OnEnableCommonValues( wxCommandEvent& event );
 | 
						|
    void OnSelectStyle( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnFitColumnsClick( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnChangeFlagsPropItemsClick( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnSaveToFileClick( wxCommandEvent& event );
 | 
						|
    void OnLoadFromFileClick( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnSetPropertyValue( wxCommandEvent& event );
 | 
						|
    void OnInsertChoice( wxCommandEvent& event );
 | 
						|
    void OnDeleteChoice( wxCommandEvent& event );
 | 
						|
    void OnInsertPage( wxCommandEvent& event );
 | 
						|
    void OnRemovePage( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnSaveState( wxCommandEvent& event );
 | 
						|
    void OnLoadState( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnRunMinimalClick( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnIterate1Click( wxCommandEvent& event );
 | 
						|
    void OnIterate2Click( wxCommandEvent& event );
 | 
						|
    void OnIterate3Click( wxCommandEvent& event );
 | 
						|
    void OnIterate4Click( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnPropertyGridChange( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridChanging( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridSelect( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridHighlight( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridItemRightClick( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridItemDoubleClick( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridPageChange( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridButtonClick( wxCommandEvent& event );
 | 
						|
    void OnPropertyGridTextUpdate( wxCommandEvent& event );
 | 
						|
    void OnPropertyGridKeyEvent( wxKeyEvent& event );
 | 
						|
    void OnPropertyGridItemCollapse( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridItemExpand( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridLabelEditBegin( wxPropertyGridEvent& event );
 | 
						|
    void OnPropertyGridLabelEditEnding( wxPropertyGridEvent& event );
 | 
						|
 | 
						|
    void OnAbout( wxCommandEvent& event );
 | 
						|
 | 
						|
    void OnMove( wxMoveEvent& event );
 | 
						|
    void OnResize( wxSizeEvent& event );
 | 
						|
    void OnPaint( wxPaintEvent& event );
 | 
						|
    void OnCloseEvent( wxCloseEvent& event );
 | 
						|
 | 
						|
    void OnIdle( wxIdleEvent& event );
 | 
						|
 | 
						|
    void AddTestProperties( wxPropertyGridPage* pg );
 | 
						|
 | 
						|
    bool RunTests( bool fullTest, bool interactive = false );
 | 
						|
 | 
						|
private:
 | 
						|
    DECLARE_EVENT_TABLE()
 | 
						|
};
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
class cxApplication : public wxApp
 | 
						|
{
 | 
						|
public:
 | 
						|
 | 
						|
    virtual bool OnInit();
 | 
						|
 | 
						|
private:
 | 
						|
    FormMain    *Form1;
 | 
						|
};
 | 
						|
 | 
						|
DECLARE_APP(cxApplication)
 | 
						|
 | 
						|
// -----------------------------------------------------------------------
 | 
						|
 | 
						|
#endif // _PROPGRIDSAMPLE_H_
 |