]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/window.h
wxChar -> char
[wxWidgets.git] / include / wx / window.h
index 717aabd93e54c580d05d987264b02e4599c4f59f..d09acb8c5b792d169f34379989d4812df19ffb1f 100644 (file)
@@ -988,10 +988,19 @@ public:
     virtual void DoUpdateWindowUI(wxUpdateUIEvent& event) ;
 
 #if wxUSE_MENUS
+    // show popup menu at the given position, generate events for the items
+    // selected in it
     bool PopupMenu(wxMenu *menu, const wxPoint& pos = wxDefaultPosition)
         { return DoPopupMenu(menu, pos.x, pos.y); }
     bool PopupMenu(wxMenu *menu, int x, int y)
         { return DoPopupMenu(menu, x, y); }
+
+    // simply return the id of the selected item or wxID_NONE without
+    // generating any events
+    int GetPopupMenuSelectionFromUser(wxMenu& menu, const wxPoint& pos)
+        { return DoGetPopupMenuSelectionFromUser(menu, pos.x, pos.y); }
+    int GetPopupMenuSelectionFromUser(wxMenu& menu, int x, int y)
+        { return DoGetPopupMenuSelectionFromUser(menu, x, y); }
 #endif // wxUSE_MENUS
 
     // override this method to return true for controls having multiple pages
@@ -1035,6 +1044,20 @@ public:
     bool PageUp() { return ScrollPages(-1); }
     bool PageDown() { return ScrollPages(1); }
 
+        // call this to always show one or both scrollbars, even if the window
+        // is big enough to not require them
+    virtual void AlwaysShowScrollbars(bool WXUNUSED(horz) = true,
+                                      bool WXUNUSED(vert) = true)
+    {
+    }
+
+        // return true if AlwaysShowScrollbars() had been called before for the
+        // corresponding orientation
+    virtual bool IsScrollbarAlwaysShown(int WXUNUSED(orient)) const
+    {
+        return false;
+    }
+
     // context-sensitive help
     // ----------------------
 
@@ -1240,7 +1263,6 @@ protected:
     // implementation of Navigate() and NavigateIn()
     virtual bool DoNavigateIn(int flags);
 
-
 #if wxUSE_CONSTRAINTS
     // satisfy the constraints for the windows but don't set the window sizes
     void SatisfyConstraints();
@@ -1497,6 +1519,13 @@ private:
     // enabled/disabled
     void NotifyWindowOnEnableChange(bool enabled);
 
+#if wxUSE_MENUS
+    // temporary event handler used by GetPopupMenuSelectionFromUser()
+    void InternalOnPopupMenu(wxCommandEvent& event);
+
+    // implementation of the public GetPopupMenuSelectionFromUser() method
+    int DoGetPopupMenuSelectionFromUser(wxMenu& menu, int x, int y);
+#endif // wxUSE_MENUS
 
     // contains the last id generated by NewControlId
     static int ms_lastControlId;