Fix template selector GTK scroll bar issue.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19436
This commit is contained in:
Wayne Stambaugh
2024-12-31 14:37:44 -05:00
parent d070f5ee95
commit 9ba1e92773
3 changed files with 32 additions and 34 deletions
+10 -12
View File
@@ -23,7 +23,7 @@ DIALOG_TEMPLATE_SELECTOR_BASE::DIALOG_TEMPLATE_SELECTOR_BASE( wxWindow* parent,
m_staticTextTpath = new wxStaticText( this, wxID_ANY, _("Folder:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTpath->Wrap( -1 );
bsizerTemplateSelector->Add( m_staticTextTpath, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
bsizerTemplateSelector->Add( m_staticTextTpath, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
m_tcTemplatePath = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
bsizerTemplateSelector->Add( m_tcTemplatePath, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 2 );
@@ -32,21 +32,19 @@ DIALOG_TEMPLATE_SELECTOR_BASE::DIALOG_TEMPLATE_SELECTOR_BASE( wxWindow* parent,
bsizerTemplateSelector->Add( m_browseButton, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
m_reloadButton = new STD_BITMAP_BUTTON( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|0 );
bsizerTemplateSelector->Add( m_reloadButton, 0, wxALL, 5 );
bsizerTemplateSelector->Add( m_reloadButton, 0, wxBOTTOM|wxTOP, 5 );
bmainSizer->Add( bsizerTemplateSelector, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
bmainSizer->Add( bsizerTemplateSelector, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP, 5 );
m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
m_notebook->SetMinSize( wxSize( -1,185 ) );
bmainSizer->Add( m_notebook, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bmainSizer->Add( m_notebook, 0, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
m_htmlWin = new HTML_WINDOW( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxHW_SCROLLBAR_AUTO );
m_htmlWin->SetMinSize( wxSize( 400,100 ) );
bmainSizer->Add( m_htmlWin, 1, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 12 );
bmainSizer->Add( m_htmlWin, 1, wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT, 5 );
m_sdbSizer = new wxStdDialogButtonSizer();
m_sdbSizerOK = new wxButton( this, wxID_OK );
@@ -60,6 +58,7 @@ DIALOG_TEMPLATE_SELECTOR_BASE::DIALOG_TEMPLATE_SELECTOR_BASE( wxWindow* parent,
this->SetSizer( bmainSizer );
this->Layout();
bmainSizer->Fit( this );
this->Centre( wxBOTH );
@@ -85,18 +84,19 @@ TEMPLATE_SELECTION_PANEL_BASE::TEMPLATE_SELECTION_PANEL_BASE( wxWindow* parent,
m_SizerBase = new wxBoxSizer( wxHORIZONTAL );
m_scrolledWindow = new wxScrolledWindow( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxALWAYS_SHOW_SB|wxHSCROLL );
m_scrolledWindow->SetScrollRate( 100, 5 );
m_scrolledWindow->SetScrollRate( 25, 5 );
m_SizerChoice = new wxBoxSizer( wxHORIZONTAL );
m_scrolledWindow->SetSizer( m_SizerChoice );
m_scrolledWindow->Layout();
m_SizerChoice->Fit( m_scrolledWindow );
m_SizerBase->Add( m_scrolledWindow, 1, wxEXPAND, 5 );
m_SizerBase->Add( m_scrolledWindow, 1, wxBOTTOM|wxEXPAND, 10 );
this->SetSizer( m_SizerBase );
this->Layout();
m_SizerBase->Fit( this );
}
TEMPLATE_SELECTION_PANEL_BASE::~TEMPLATE_SELECTION_PANEL_BASE()
@@ -105,9 +105,6 @@ TEMPLATE_SELECTION_PANEL_BASE::~TEMPLATE_SELECTION_PANEL_BASE()
TEMPLATE_WIDGET_BASE::TEMPLATE_WIDGET_BASE( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxString& name ) : wxPanel( parent, id, pos, size, style, name )
{
this->SetMinSize( wxSize( 108,-1 ) );
this->SetMaxSize( wxSize( 108,-1 ) );
wxBoxSizer* bSizerMain;
bSizerMain = new wxBoxSizer( wxVERTICAL );
@@ -123,6 +120,7 @@ TEMPLATE_WIDGET_BASE::TEMPLATE_WIDGET_BASE( wxWindow* parent, wxWindowID id, con
this->SetSizer( bSizerMain );
this->Layout();
bSizerMain->Fit( this );
}
TEMPLATE_WIDGET_BASE::~TEMPLATE_WIDGET_BASE()
+17 -17
View File
@@ -50,7 +50,7 @@
<property name="minimum_size">-1,-1</property>
<property name="name">DIALOG_TEMPLATE_SELECTOR_BASE</property>
<property name="pos"></property>
<property name="size">600,499</property>
<property name="size">-1,-1</property>
<property name="style">wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER</property>
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Project Template Selector</property>
@@ -66,7 +66,7 @@
<property name="permission">none</property>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT|wxTOP</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="true">
<property name="minimum_size"></property>
@@ -75,7 +75,7 @@
<property name="permission">none</property>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="true">
<property name="BottomDockable">1</property>
@@ -277,7 +277,7 @@
</object>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxALL</property>
<property name="flag">wxBOTTOM|wxTOP</property>
<property name="proportion">0</property>
<object class="wxBitmapButton" expanded="true">
<property name="BottomDockable">1</property>
@@ -354,7 +354,7 @@
</object>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</property>
<property name="proportion">0</property>
<object class="wxNotebook" expanded="true">
<property name="BottomDockable">1</property>
@@ -391,7 +391,7 @@
<property name="maximum_size">-1,-1</property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size">-1,185</property>
<property name="minimum_size">-1,-1</property>
<property name="moveable">1</property>
<property name="name">m_notebook</property>
<property name="pane_border">1</property>
@@ -414,8 +414,8 @@
</object>
</object>
<object class="sizeritem" expanded="true">
<property name="border">12</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND</property>
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</property>
<property name="proportion">1</property>
<object class="wxHtmlWindow" expanded="true">
<property name="BottomDockable">1</property>
@@ -457,7 +457,7 @@
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="permission">public</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
@@ -510,7 +510,7 @@
<property name="minimum_size">-1,-1</property>
<property name="name">TEMPLATE_SELECTION_PANEL_BASE</property>
<property name="pos"></property>
<property name="size">258,140</property>
<property name="size">-1,-1</property>
<property name="subclass"></property>
<property name="tooltip"></property>
<property name="two_step_creation">0</property>
@@ -523,8 +523,8 @@
<property name="orient">wxHORIZONTAL</property>
<property name="permission">public</property>
<object class="sizeritem" expanded="true">
<property name="border">5</property>
<property name="flag">wxEXPAND</property>
<property name="border">10</property>
<property name="flag">wxBOTTOM|wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxScrolledWindow" expanded="true">
<property name="BottomDockable">1</property>
@@ -570,7 +570,7 @@
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="scroll_rate_x">100</property>
<property name="scroll_rate_x">25</property>
<property name="scroll_rate_y">5</property>
<property name="show">1</property>
<property name="size"></property>
@@ -584,7 +584,7 @@
<property name="minimum_size"></property>
<property name="name">m_SizerChoice</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">protected</property>
<property name="permission">public</property>
</object>
</object>
</object>
@@ -603,11 +603,11 @@
<property name="font"></property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="maximum_size">108,-1</property>
<property name="minimum_size">108,-1</property>
<property name="maximum_size">-1,-1</property>
<property name="minimum_size">-1,-1</property>
<property name="name">TEMPLATE_WIDGET_BASE</property>
<property name="pos"></property>
<property name="size">108,-1</property>
<property name="size">-1,-1</property>
<property name="subclass"></property>
<property name="tooltip"></property>
<property name="two_step_creation">0</property>
@@ -49,7 +49,6 @@ class DIALOG_TEMPLATE_SELECTOR_BASE : public DIALOG_SHIM
STD_BITMAP_BUTTON* m_browseButton;
STD_BITMAP_BUTTON* m_reloadButton;
wxNotebook* m_notebook;
HTML_WINDOW* m_htmlWin;
wxStdDialogButtonSizer* m_sdbSizer;
wxButton* m_sdbSizerOK;
wxButton* m_sdbSizerCancel;
@@ -62,8 +61,9 @@ class DIALOG_TEMPLATE_SELECTOR_BASE : public DIALOG_SHIM
public:
HTML_WINDOW* m_htmlWin;
DIALOG_TEMPLATE_SELECTOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Project Template Selector"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 600,499 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
DIALOG_TEMPLATE_SELECTOR_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Project Template Selector"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
~DIALOG_TEMPLATE_SELECTOR_BASE();
@@ -77,13 +77,13 @@ class TEMPLATE_SELECTION_PANEL_BASE : public wxPanel
private:
protected:
wxBoxSizer* m_SizerChoice;
public:
wxBoxSizer* m_SizerBase;
wxScrolledWindow* m_scrolledWindow;
wxBoxSizer* m_SizerChoice;
TEMPLATE_SELECTION_PANEL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 258,140 ), long style = wxTAB_TRAVERSAL|wxBORDER_NONE, const wxString& name = wxEmptyString );
TEMPLATE_SELECTION_PANEL_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL|wxBORDER_NONE, const wxString& name = wxEmptyString );
~TEMPLATE_SELECTION_PANEL_BASE();
@@ -102,7 +102,7 @@ class TEMPLATE_WIDGET_BASE : public wxPanel
public:
TEMPLATE_WIDGET_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 108,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
TEMPLATE_WIDGET_BASE( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString );
~TEMPLATE_WIDGET_BASE();