X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/04c883f8c963dbbb98a840c31abb6c05c438cc7d..0c8392cac2d36d0d211432e71d3b24d3d93c22db:/wxPython/src/windows.i?ds=inline diff --git a/wxPython/src/windows.i b/wxPython/src/windows.i index 702922d27b..ca44e8ddb5 100644 --- a/wxPython/src/windows.i +++ b/wxPython/src/windows.i @@ -216,14 +216,18 @@ public: void DragAcceptFiles(bool accept); #endif void Enable(bool enable); + void Disable(); // Find child window by ID or name %name(FindWindowById) wxWindow* FindWindow(long id); %name(FindWindowByName) wxWindow* FindWindow(const wxString& name); void Fit(); + + // set virtual size to satisfy children + void FitInside(); + wxColour GetBackgroundColour(); - wxBorder GetBorder() const; //wxList& GetChildren(); %addmethods { @@ -291,7 +295,9 @@ public: bool IsShown(); bool IsTopLevel(); void Layout(); +#ifdef wxUSE_WX_RESOURCES bool LoadFromResource(wxWindow* parent, const wxString& resourceName, const wxResourceTable* resourceTable = NULL); +#endif void Lower(); void MakeModal(bool flag=TRUE); %name(MoveXY)void Move(int x, int y, int flags = wxSIZE_USE_EXISTING); @@ -365,6 +371,8 @@ public: wxSize GetVirtualSize() const; %name(GetVirtualSizeTuple)void GetVirtualSize( int *OUTPUT, int *OUTPUT ) const; + wxSize GetBestVirtualSize(); + %name(SetClientSizeWH)void SetClientSize(int width, int height); void SetClientSize(const wxSize& size); //void SetPalette(wxPalette* palette); @@ -376,7 +384,10 @@ public: bool Show(bool show=TRUE); bool TransferDataFromWindow(); bool TransferDataToWindow(); - void UpdateWindowUI(); + + // send wxUpdateUIEvents to this window, and children if recurse is TRUE + void UpdateWindowUI(long flags = wxUPDATE_UI_NONE); + bool Validate(); %name(ConvertDialogPointToPixels) wxPoint ConvertDialogToPixels(const wxPoint& pt); @@ -410,12 +421,19 @@ public: wxSize GetBestSize(); wxSize GetMaxSize(); + // There are times (and windows) where 'Best' size and 'Min' size + // are vastly out of sync. This should be remedied somehow, but in + // the meantime, this method will return the larger of BestSize + // (the window's smallest legible size), and any user specified + // MinSize hint. + wxSize GetAdjustedBestSize(); + void SetCaret(wxCaret *caret); wxCaret *GetCaret(); %pragma(python) addtoclass = "# replaces broken shadow method def GetCaret(self, *_args, **_kwargs): from misc2 import wxCaretPtr - val = apply(windowsc.wxWindow_GetCaret,(self,) + _args, _kwargs) + val = windowsc.wxWindow_GetCaret(self, *_args, **_kwargs) if val: val = wxCaretPtr(val) return val " @@ -443,6 +461,25 @@ public: void SetAcceleratorTable(const wxAcceleratorTable& accel); wxAcceleratorTable *GetAcceleratorTable(); + %addmethods { + // hot keys (system wide accelerators) + bool RegisterHotKey(int hotkeyId, int modifiers, int keycode) { +#if wxUSE_HOTKEY + return self->RegisterHotKey(hotkeyId, modifiers, keycode); +#else + return FALSE; +#endif + } + + bool UnregisterHotKey(int hotkeyId) { +#if wxUSE_HOTKEY + return self->UnregisterHotKey(hotkeyId); +#else + return FALSE; +#endif + } + } + #ifdef __WXMSW__ // A way to do the native draw first... Too bad it isn't in wxGTK too. void OnPaint(wxPaintEvent& event); @@ -467,6 +504,18 @@ public: // does this window have the capture? bool HasCapture() const; + + void SetThemeEnabled(bool enable); + bool GetThemeEnabled(); + + // get the window border style from the given flags: this is different from + // simply doing flags & wxBORDER_MASK because it uses GetDefaultBorder() to + // translate wxBORDER_DEFAULT to something reasonable + %name(GetBorderFlags) wxBorder GetBorder(long flags) const; + + // get border for the flags of this window + wxBorder GetBorder() const; + }; @@ -597,17 +646,17 @@ public: %pragma(python) addtoclass = " def CalcScrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcScrolledPosition1, args) + return self.CalcScrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcScrolledPosition2, args) + return self.CalcScrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' def CalcUnscrolledPosition(self, *args): if len(args) == 1: - return apply(self.CalcUnscrolledPosition1, args) + return self.CalcUnscrolledPosition1(*args) elif len(args) == 2: - return apply(self.CalcUnscrolledPosition2, args) + return self.CalcUnscrolledPosition2(*args) else: raise TypeError, 'Invalid parameters: only (x,y) or (point) allowed' " @@ -697,6 +746,7 @@ public: int FindItem(const wxString& itemString); %name(FindItemById)wxMenuItem* FindItem(int id/*, wxMenu **menu = NULL*/); + wxMenuItem* FindItemByPosition(size_t position) const; wxString GetTitle(); void SetTitle(const wxString& title); @@ -714,8 +764,6 @@ public: %name(RemoveItem) wxMenuItem *Remove(wxMenuItem *item); - - %addmethods { void Destroy() { delete self; } } @@ -761,6 +809,7 @@ public: wxMenu *Replace(size_t pos, wxMenu *menu, const wxString& title); wxMenu *Remove(size_t pos); void EnableTop(size_t pos, bool enable); + bool IsEnabledTop(size_t pos); void SetLabelTop(size_t pos, const wxString& label); wxString GetLabelTop(size_t pos); int FindMenu(const wxString& title); @@ -792,6 +841,7 @@ public: wxMenu *GetMenu(); + void SetMenu(wxMenu* menu); void SetId(int id); int GetId(); bool IsSeparator();