// Author: Jaakko Salli
// Modified by:
// Created: 2004-09-25
-// RCS-ID: $Id:
+// RCS-ID: $Id$
// Copyright: (c) Jaakko Salli
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
wxPG_ACTION_CUT,
wxPG_ACTION_COPY,
wxPG_ACTION_PASTE,
+ wxPG_ACTION_PRESS_BUTTON, // Causes editor button (if any) to be pressed
wxPG_ACTION_MAX
};
#define wxPG_FL_IN_MANAGER 0x00020000
// Set after wxPropertyGrid is shown in its initial good size
#define wxPG_FL_GOOD_SIZE_SET 0x00040000
-// Next navigation key event will get ignored
-#define wxPG_FL_IGNORE_NEXT_NAVKEY 0x00080000
// Set when in SelectProperty.
#define wxPG_FL_IN_SELECT_PROPERTY 0x00100000
// Set when help string is shown in status bar
/**
Returns number of columns currently on grid.
*/
- int GetColumnCount() const
+ unsigned int GetColumnCount() const
{
- return m_pState->m_colWidths.size();
+ return (unsigned int) m_pState->m_colWidths.size();
}
/** Returns colour of empty space below properties. */
/** Returns background colour of margin. */
wxColour GetMarginColour() const { return m_colMargin; }
+ /**
+ Returns most up-to-date value of selected property. This will return
+ value different from GetSelectedProperty()->GetValue() only when text
+ editor is activate and string edited by user represents valid,
+ uncommitted property value.
+ */
+ wxVariant GetUncommittedPropertyValue();
+
/** Returns cell background colour of a property. */
wxColour GetPropertyBackgroundColour( wxPGPropArg id ) const;
return DoSelectProperty(p,focus?wxPG_SEL_FOCUS:0);
}
- /** Changes keyboard shortcut to push the editor button.
- @remarks
- You can set default with keycode 0. Good value for the platform is
- guessed, but don't expect it to be very accurate.
- */
- void SetButtonShortcut( int keycode,
- bool ctrlDown = false,
- bool altDown = false );
-
/** Sets category caption background colour. */
void SetCaptionBackgroundColour(const wxColour& col);
*/
unsigned int GetCommonValueCount() const
{
- return m_commonValues.size();
+ return (unsigned int) m_commonValues.size();
}
/** Returns label of given common value.
const wxPGProperty* p2 ) const;
/** Returns pointer to current active primary editor control (NULL if none).
-
- If editor uses clipper window, pointer is returned to the actual
- editor, not the clipper.
*/
wxWindow* GetEditorControl() const;
- /** Adjusts given position if topCtrlWnd is child of clipper window.
- */
- bool AdjustPosForClipperWindow( wxWindow* topCtrlWnd, int* x, int* y );
-
wxWindow* GetPrimaryEditor() const
{
return GetEditorControl();
void OnCustomEditorEvent( wxCommandEvent &event );
long GetInternalFlags() const { return m_iFlags; }
+ bool HasInternalFlag( long flag ) const
+ { return (m_iFlags & flag) ? true : false; }
void SetInternalFlag( long flag ) { m_iFlags |= flag; }
void ClearInternalFlag( long flag ) { m_iFlags &= ~(flag); }
void IncFrozen() { m_frozen++; }
void OnComboItemPaint( wxPGCustomComboControl* pCb,int item,wxDC& dc,
wxRect& rect,int flags );
- // Used by simple check box for keyboard navigation
- void SendNavigationKeyEvent( int dir );
-
/** Standardized double-to-string conversion.
*/
static void DoubleToString( wxString& target,
virtual bool DoPropertyChanged( wxPGProperty* p,
unsigned int selFlags = 0 );
- /**
- Runs all validation functionality (includes sending wxEVT_PG_CHANGING).
- Returns true if all tests passed.
- */
- virtual bool PerformValidation( wxPGProperty* p, wxVariant& pendingValue );
-
/** Called when validation for given property fails.
@param invalidValue
Value which failed in validation.
*/
virtual wxPropertyGridPageState* CreateState() const;
-#ifndef DOXYGEN
+ enum PerformValidationFlags
+ {
+ SendEvtChanging = 0x0001,
+ IsStandaloneValidation = 0x0002 // Not called in response to event
+ };
+
+ /**
+ Runs all validation functionality (includes sending wxEVT_PG_CHANGING).
+ Returns true if all tests passed. Implement in derived class to
+ add additional validation behavior.
+ */
+ virtual bool PerformValidation( wxPGProperty* p,
+ wxVariant& pendingValue,
+ int flags = SendEvtChanging );
+
public:
// Control font changer helper.
wxBitmap *m_doubleBuffer;
#endif
- wxVector<wxWindow*> m_windowsToDelete;
-
/** Local time ms when control was created. */
wxLongLong m_timeCreated;
int m_fontHeight; // Height of the font.
- // Base keycode for triggering push button.
- int m_pushButKeyCode;
-
/** m_splitterx when drag began. */
int m_startingSplitterX;
unsigned char m_vspacing;
- // Does triggering push button need Alt down?
- unsigned char m_pushButKeyCodeNeedsAlt;
-
- // Does triggering push button need Ctrl down?
- unsigned char m_pushButKeyCodeNeedsCtrl;
-
// Used to track when Alt/Ctrl+Key was consumed.
unsigned char m_keyComboConsumed;
void OnMouseUp( wxMouseEvent &event );
void OnKey( wxKeyEvent &event );
void OnKeyUp( wxKeyEvent &event );
- void OnNavigationKey( wxNavigationKeyEvent& event );
void OnResize( wxSizeEvent &event );
// event handlers
private:
- bool ButtonTriggerKeyTest( wxKeyEvent &event );
-
-#endif // DOXYGEN_SHOULD_SKIP_THIS
+ bool ButtonTriggerKeyTest( int action, wxKeyEvent& event );
-private:
DECLARE_EVENT_TABLE()
#endif // #ifndef SWIG
};
{
wxPropertyGrid* pg = GetGrid();
if ( pg )
- return pg->GetCommonValueCount();
+ return (int) pg->GetCommonValueCount();
}
return 0;
}
// #undef const wxString&
#endif
-// Doxygen special
-#ifdef DOXYGEN
- #include "wx/propgrid/editor.h"
- #include "wx/propgrid/manager.h"
-#endif
-
// -----------------------------------------------------------------------
#endif