X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2beb01db001c9c22e4865fba3ba9b46ff5fc2dda..d728116a27b358e5b002337d96268fb51be128eb:/src/stc/PlatWX.cpp diff --git a/src/stc/PlatWX.cpp b/src/stc/PlatWX.cpp index ae53b19b54..65d7de1b45 100644 --- a/src/stc/PlatWX.cpp +++ b/src/stc/PlatWX.cpp @@ -456,7 +456,7 @@ class wxSTCListBox : public wxListBox { public: wxSTCListBox(wxWindow* parent, wxWindowID id) : wxListBox(parent, id, wxDefaultPosition, wxDefaultSize, - 0, NULL, wxLB_SINGLE | wxLB_SORT | wxSIMPLE_BORDER) + 0, NULL, wxLB_SINGLE | wxSIMPLE_BORDER) // | wxLB_SORT ) {} void OnFocus(wxFocusEvent& event) { @@ -464,10 +464,6 @@ public: event.Skip(); } -#ifdef __WXGTK__ - void DoSetFirstItem(int n); -#endif - private: DECLARE_EVENT_TABLE() }; @@ -477,52 +473,6 @@ BEGIN_EVENT_TABLE(wxSTCListBox, wxListBox) END_EVENT_TABLE() - - -#ifdef __WXGTK__ - // This can be removed after 2.2.2 I think -void wxSTCListBox::DoSetFirstItem( int n ) -{ - wxCHECK_RET( m_list, wxT("invalid listbox") ); - - if (gdk_pointer_is_grabbed () && GTK_WIDGET_HAS_GRAB (m_list)) - return; - - // terribly efficient - const gchar *vadjustment_key = "gtk-vadjustment"; - guint vadjustment_key_id = g_quark_from_static_string (vadjustment_key); - - GtkAdjustment *adjustment = - (GtkAdjustment*) gtk_object_get_data_by_id (GTK_OBJECT (m_list), vadjustment_key_id); - wxCHECK_RET( adjustment, wxT("invalid listbox code") ); - - GList *target = g_list_nth( m_list->children, n ); - wxCHECK_RET( target, wxT("invalid listbox index") ); - - GtkWidget *item = GTK_WIDGET(target->data); - wxCHECK_RET( item, wxT("invalid listbox code") ); - - // find the last item before this one which is already realized - size_t nItemsBefore; - for ( nItemsBefore = 0; item && (item->allocation.y == -1); nItemsBefore++ ) - { - target = target->prev; - if ( !target ) - { - // nothing we can do if there are no allocated items yet - return; - } - - item = GTK_WIDGET(target->data); - } - - gtk_adjustment_set_value(adjustment, - item->allocation.y + - nItemsBefore*item->allocation.height); -} -#endif - - ListBox::ListBox() { } @@ -531,8 +481,10 @@ ListBox::~ListBox() { void ListBox::Create(Window &parent, int ctrlID) { id = new wxSTCListBox(parent.id, ctrlID); -// id = new wxListBox(parent.id, ctrlID, wxDefaultPosition, wxDefaultSize, -// 0, NULL, wxLB_SINGLE | wxLB_SORT | wxSIMPLE_BORDER); +} + +void ListBox::SetVisibleRows(int rows) { + desiredVisibleRows = rows; } PRectangle ListBox::GetDesiredRect() { @@ -540,13 +492,12 @@ PRectangle ListBox::GetDesiredRect() { PRectangle rc; rc.top = 0; rc.left = 0; - if (sz.x > 150) // TODO: A better way to determine these max sizes - sz.x = 150; - if (sz.y > 100) - sz.y = 100; + if (sz.x > 400) + sz.x = 400; + if (sz.y > 160) // TODO: Use desiredVisibleRows?? + sz.y = 160; rc.right = sz.x; rc.bottom = sz.y; - return rc; } @@ -586,13 +537,7 @@ int ListBox::GetSelection() { } int ListBox::Find(const char *prefix) { - if (prefix) { - for (int x=0; x < ((wxListBox*)id)->GetCount(); x++) { - wxString text = ((wxListBox*)id)->GetString(x); - if (text.StartsWith(prefix)) - return x; - } - } + // No longer used return -1; }