]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/odcombo.h
adding measuring contexts, streamlining printing code
[wxWidgets.git] / include / wx / odcombo.h
index 451ab90e732f4958767e1334aa0432281321f726..d5baadcc368bc403deaff8dba0a10f372fb2f9c8 100644 (file)
@@ -19,6 +19,7 @@
 #include "wx/combo.h"
 #include "wx/ctrlsub.h"
 #include "wx/vlbox.h"
+#include "wx/timer.h"
 
 
 //
@@ -43,7 +44,14 @@ enum
 {
     // when set, we are painting the selected item in control,
     // not in the popup
-    wxODCB_PAINTING_CONTROL         = 0x0001
+    wxODCB_PAINTING_CONTROL         = 0x0001,
+
+
+    // when set, we are painting an item which should have
+    // focus rectangle painted in the background. Text colour
+    // and clipping region are then appropriately set in
+    // the default OnDrawBackground implementation.
+    wxODCB_PAINTING_SELECTED        = 0x0002
 };
 
 
@@ -110,7 +118,7 @@ public:
 protected:
 
     // Called by OnComboDoubleClick and OnComboKeyEvent
-    bool HandleKey( int keycode, bool saturate );
+    bool HandleKey( int keycode, bool saturate, wxChar unicode = 0 );
 
     // sends combobox select event from the parent combo control
     void SendComboBoxEvent( int selection );
@@ -163,6 +171,9 @@ protected:
     // Return the index of the widest item (recalculating it if necessary)
     int GetWidestItem() { CalcWidths(); return m_widestItem; }
 
+    // Stop partial completion (when some other event occurs)
+    void StopPartialCompletion();
+
     wxArrayString           m_strings;
     wxArrayPtrVoid          m_clientDatas;
 
@@ -198,6 +209,14 @@ private:
     // Recalculate widths if they are dirty
     void CalcWidths();
 
+    // Partial completion string
+    wxString                m_partialCompletionString;
+
+#if wxUSE_TIMER
+    // Partial completion timer
+    wxTimer                 m_partialCompletionTimer;
+#endif // wxUSE_TIMER
+
     DECLARE_EVENT_TABLE()
 };