Add wxAuiManager::AlwaysUsesLiveResize()
This allows to check if it's worth specifying wxAUI_MGR_LIVE_RESIZE or not and allows to get rid of the corresponding menu item in the sample if it doesn't do anything anyhow.
This commit is contained in:
@@ -412,6 +412,8 @@ public:
|
|||||||
|
|
||||||
void SetFlags(unsigned int flags);
|
void SetFlags(unsigned int flags);
|
||||||
unsigned int GetFlags() const;
|
unsigned int GetFlags() const;
|
||||||
|
|
||||||
|
static bool AlwaysUsesLiveResize();
|
||||||
bool HasLiveResize() const;
|
bool HasLiveResize() const;
|
||||||
|
|
||||||
void SetManagedWindow(wxWindow* managedWnd);
|
void SetManagedWindow(wxWindow* managedWnd);
|
||||||
|
@@ -207,6 +207,19 @@ public:
|
|||||||
const wxPoint& drop_pos);
|
const wxPoint& drop_pos);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Returns true if live resize is always used on the current platform.
|
||||||
|
|
||||||
|
If this function returns true, ::wxAUI_MGR_LIVE_RESIZE flag is ignored
|
||||||
|
and live resize is always used, whether it's specified or not.
|
||||||
|
|
||||||
|
Currently this is the case for wxOSX port, as live resizing is the only
|
||||||
|
implemented method there.
|
||||||
|
|
||||||
|
@since 3.1.4
|
||||||
|
*/
|
||||||
|
static bool AlwaysUsesLiveResize();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function is used by controls to calculate the drop hint rectangle.
|
This function is used by controls to calculate the drop hint rectangle.
|
||||||
|
|
||||||
@@ -313,9 +326,9 @@ public:
|
|||||||
/**
|
/**
|
||||||
Returns true if windows are resized live.
|
Returns true if windows are resized live.
|
||||||
|
|
||||||
Live resizing behaviour is specified by wxAUI_MGR_LIVE_RESIZE flag,
|
This function combines the check for AlwaysUsesLiveResize() and, for
|
||||||
however some platforms (currently wxOSX) ignore it and always use live
|
the platforms where live resizing is optional, the check for
|
||||||
resizing because this is the only implemented resize mode.
|
wxAUI_MGR_LIVE_RESIZE flag.
|
||||||
|
|
||||||
Using this accessor allows to verify whether live resizing is being
|
Using this accessor allows to verify whether live resizing is being
|
||||||
actually used.
|
actually used.
|
||||||
|
@@ -709,7 +709,9 @@ MyFrame::MyFrame(wxWindow* parent,
|
|||||||
options_menu->AppendCheckItem(ID_NoVenetianFade, _("Disable Venetian Blinds Hint Fade-in"));
|
options_menu->AppendCheckItem(ID_NoVenetianFade, _("Disable Venetian Blinds Hint Fade-in"));
|
||||||
options_menu->AppendCheckItem(ID_TransparentDrag, _("Transparent Drag"));
|
options_menu->AppendCheckItem(ID_TransparentDrag, _("Transparent Drag"));
|
||||||
options_menu->AppendCheckItem(ID_AllowActivePane, _("Allow Active Pane"));
|
options_menu->AppendCheckItem(ID_AllowActivePane, _("Allow Active Pane"));
|
||||||
options_menu->AppendCheckItem(ID_LiveUpdate, _("Live Resize Update"));
|
// Only show "live resize" toggle if it's actually functional.
|
||||||
|
if ( !wxAuiManager::AlwaysUsesLiveResize() )
|
||||||
|
options_menu->AppendCheckItem(ID_LiveUpdate, _("Live Resize Update"));
|
||||||
options_menu->AppendSeparator();
|
options_menu->AppendSeparator();
|
||||||
options_menu->AppendRadioItem(ID_NoGradient, _("No Caption Gradient"));
|
options_menu->AppendRadioItem(ID_NoGradient, _("No Caption Gradient"));
|
||||||
options_menu->AppendRadioItem(ID_VerticalGradient, _("Vertical Caption Gradient"));
|
options_menu->AppendRadioItem(ID_VerticalGradient, _("Vertical Caption Gradient"));
|
||||||
|
@@ -772,11 +772,22 @@ unsigned int wxAuiManager::GetFlags() const
|
|||||||
return m_flags;
|
return m_flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// With Core Graphics on Mac, it's not possible to show sash feedback,
|
||||||
|
// so we'll always use live update instead.
|
||||||
|
#if defined(__WXMAC__)
|
||||||
|
#define wxUSE_AUI_LIVE_RESIZE_ALWAYS 1
|
||||||
|
#else
|
||||||
|
#define wxUSE_AUI_LIVE_RESIZE_ALWAYS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* static */ bool wxAuiManager::AlwaysUsesLiveResize()
|
||||||
|
{
|
||||||
|
return wxUSE_AUI_LIVE_RESIZE_ALWAYS;
|
||||||
|
}
|
||||||
|
|
||||||
bool wxAuiManager::HasLiveResize() const
|
bool wxAuiManager::HasLiveResize() const
|
||||||
{
|
{
|
||||||
// With Core Graphics on Mac, it's not possible to show sash feedback,
|
#if wxUSE_AUI_LIVE_RESIZE_ALWAYS
|
||||||
// so we'll always use live update instead.
|
|
||||||
#if defined(__WXMAC__)
|
|
||||||
return true;
|
return true;
|
||||||
#else
|
#else
|
||||||
return (GetFlags() & wxAUI_MGR_LIVE_RESIZE) == wxAUI_MGR_LIVE_RESIZE;
|
return (GetFlags() & wxAUI_MGR_LIVE_RESIZE) == wxAUI_MGR_LIVE_RESIZE;
|
||||||
|
Reference in New Issue
Block a user