Skip to content

Commit 4df0dd3

Browse files
committed
Switch to using bitmaps in small buttons
wxGtk has issues with determining text size correctly and sometimes button labels are not visible. Icons work better.
1 parent 095f336 commit 4df0dd3

13 files changed

+539
-120
lines changed
386 Bytes
Loading
382 Bytes
Loading
137 Bytes
Loading
165 Bytes
Loading
460 Bytes
Loading

InteractiveHtmlBom/dialog/dialog_base.py

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,12 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
229229
bSizer20 = wx.BoxSizer( wx.HORIZONTAL )
230230

231231
self.fileNameFormatTextControl = wx.TextCtrl( sbSizer6.GetStaticBox(), wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 )
232-
bSizer20.Add( self.fileNameFormatTextControl, 1, wx.ALL|wx.EXPAND, 5 )
232+
bSizer20.Add( self.fileNameFormatTextControl, 1, wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.LEFT|wx.TOP, 5 )
233233

234-
self.m_button12 = wx.Button( sbSizer6.GetStaticBox(), wx.ID_ANY, u"?", wx.DefaultPosition, wx.DefaultSize, wx.BU_EXACTFIT )
235-
bSizer20.Add( self.m_button12, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 4 )
234+
self.m_bpButton5 = wx.BitmapButton( sbSizer6.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
235+
self.m_bpButton5.SetMinSize( wx.Size( 30,30 ) )
236+
237+
bSizer20.Add( self.m_bpButton5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
236238

237239

238240
fgSizer1.Add( bSizer20, 1, wx.EXPAND, 5 )
@@ -269,17 +271,29 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
269271

270272
bSizer5 = wx.BoxSizer( wx.VERTICAL )
271273

272-
self.m_button1 = wx.Button( sortingSizer.GetStaticBox(), wx.ID_ANY, u"Up", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
273-
bSizer5.Add( self.m_button1, 0, wx.ALL, 5 )
274+
self.m_btnSortUp = wx.BitmapButton( sortingSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
275+
276+
self.m_btnSortUp.SetBitmap( wx.NullBitmap )
277+
self.m_btnSortUp.SetMinSize( wx.Size( 30,30 ) )
278+
279+
bSizer5.Add( self.m_btnSortUp, 0, wx.ALL, 5 )
280+
281+
self.m_btnSortDown = wx.BitmapButton( sortingSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
282+
283+
self.m_btnSortDown.SetBitmap( wx.NullBitmap )
284+
self.m_btnSortDown.SetMinSize( wx.Size( 30,30 ) )
285+
286+
bSizer5.Add( self.m_btnSortDown, 0, wx.ALL, 5 )
274287

275-
self.m_button2 = wx.Button( sortingSizer.GetStaticBox(), wx.ID_ANY, u"Dn", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
276-
bSizer5.Add( self.m_button2, 0, wx.ALL, 5 )
288+
self.m_btnSortAdd = wx.BitmapButton( sortingSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
289+
self.m_btnSortAdd.SetMinSize( wx.Size( 30,30 ) )
277290

278-
self.m_button3 = wx.Button( sortingSizer.GetStaticBox(), wx.ID_ANY, u"+", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
279-
bSizer5.Add( self.m_button3, 0, wx.ALL, 5 )
291+
bSizer5.Add( self.m_btnSortAdd, 0, wx.ALL, 5 )
280292

281-
self.m_button4 = wx.Button( sortingSizer.GetStaticBox(), wx.ID_ANY, u"-", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
282-
bSizer5.Add( self.m_button4, 0, wx.ALL, 5 )
293+
self.m_btnSortRemove = wx.BitmapButton( sortingSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
294+
self.m_btnSortRemove.SetMinSize( wx.Size( 30,30 ) )
295+
296+
bSizer5.Add( self.m_btnSortRemove, 0, wx.ALL, 5 )
283297

284298

285299
bSizer4.Add( bSizer5, 0, 0, 5 )
@@ -305,11 +319,15 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
305319

306320
bSizer512 = wx.BoxSizer( wx.VERTICAL )
307321

308-
self.m_button112 = wx.Button( blacklistSizer.GetStaticBox(), wx.ID_ANY, u"+", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
309-
bSizer512.Add( self.m_button112, 0, wx.ALL, 5 )
322+
self.m_btnBlacklistAdd = wx.BitmapButton( blacklistSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
323+
self.m_btnBlacklistAdd.SetMinSize( wx.Size( 30,30 ) )
324+
325+
bSizer512.Add( self.m_btnBlacklistAdd, 0, wx.ALL, 5 )
326+
327+
self.m_btnBlacklistRemove = wx.BitmapButton( blacklistSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
328+
self.m_btnBlacklistRemove.SetMinSize( wx.Size( 30,30 ) )
310329

311-
self.m_button212 = wx.Button( blacklistSizer.GetStaticBox(), wx.ID_ANY, u"-", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
312-
bSizer512.Add( self.m_button212, 0, wx.ALL, 5 )
330+
bSizer512.Add( self.m_btnBlacklistRemove, 0, wx.ALL, 5 )
313331

314332

315333
bSizer412.Add( bSizer512, 0, 0, 5 )
@@ -339,13 +357,13 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
339357

340358
# Connect Events
341359
self.Bind( wx.EVT_SIZE, self.OnSize )
342-
self.m_button12.Bind( wx.EVT_BUTTON, self.OnNameFormatHintClick )
343-
self.m_button1.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderUp )
344-
self.m_button2.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderDown )
345-
self.m_button3.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderAdd )
346-
self.m_button4.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderRemove )
347-
self.m_button112.Bind( wx.EVT_BUTTON, self.OnComponentBlacklistAdd )
348-
self.m_button212.Bind( wx.EVT_BUTTON, self.OnComponentBlacklistRemove )
360+
self.m_bpButton5.Bind( wx.EVT_BUTTON, self.OnNameFormatHintClick )
361+
self.m_btnSortUp.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderUp )
362+
self.m_btnSortDown.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderDown )
363+
self.m_btnSortAdd.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderAdd )
364+
self.m_btnSortRemove.Bind( wx.EVT_BUTTON, self.OnComponentSortOrderRemove )
365+
self.m_btnBlacklistAdd.Bind( wx.EVT_BUTTON, self.OnComponentBlacklistAdd )
366+
self.m_btnBlacklistRemove.Bind( wx.EVT_BUTTON, self.OnComponentBlacklistRemove )
349367

350368
def __del__( self ):
351369
pass
@@ -411,11 +429,15 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
411429

412430
bSizer5 = wx.BoxSizer( wx.VERTICAL )
413431

414-
self.m_button1 = wx.Button( extraFieldsSizer.GetStaticBox(), wx.ID_ANY, u"Up", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
415-
bSizer5.Add( self.m_button1, 0, wx.ALL, 5 )
432+
self.m_btnUp = wx.BitmapButton( extraFieldsSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
433+
self.m_btnUp.SetMinSize( wx.Size( 30,30 ) )
434+
435+
bSizer5.Add( self.m_btnUp, 0, wx.ALL, 5 )
436+
437+
self.m_btnDown = wx.BitmapButton( extraFieldsSizer.GetStaticBox(), wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW|0 )
438+
self.m_btnDown.SetMinSize( wx.Size( 30,30 ) )
416439

417-
self.m_button2 = wx.Button( extraFieldsSizer.GetStaticBox(), wx.ID_ANY, u"Dn", wx.DefaultPosition, wx.Size( 30,30 ), 0|wx.BORDER_DEFAULT )
418-
bSizer5.Add( self.m_button2, 0, wx.ALL, 5 )
440+
bSizer5.Add( self.m_btnDown, 0, wx.ALL, 5 )
419441

420442

421443
bSizer4.Add( bSizer5, 0, 0, 5 )
@@ -498,8 +520,8 @@ def __init__( self, parent, id = wx.ID_ANY, pos = wx.DefaultPosition, size = wx.
498520
# Connect Events
499521
self.Bind( wx.EVT_SIZE, self.OnSize )
500522
self.netlistFilePicker.Bind( wx.EVT_FILEPICKER_CHANGED, self.OnNetlistFileChanged )
501-
self.m_button1.Bind( wx.EVT_BUTTON, self.OnExtraFieldsUp )
502-
self.m_button2.Bind( wx.EVT_BUTTON, self.OnExtraFieldsDown )
523+
self.m_btnUp.Bind( wx.EVT_BUTTON, self.OnExtraFieldsUp )
524+
self.m_btnDown.Bind( wx.EVT_BUTTON, self.OnExtraFieldsDown )
503525
self.normalizeCaseCheckbox.Bind( wx.EVT_CHECKBOX, self.OnNetlistFileChanged )
504526
self.boardVariantFieldBox.Bind( wx.EVT_COMBOBOX, self.OnBoardVariantFieldChange )
505527

InteractiveHtmlBom/dialog/settings_dialog.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
"""Subclass of settings_dialog, which is generated by wxFormBuilder."""
21
import os
32
import re
43

@@ -16,7 +15,7 @@ def __init__(self, extra_data_func, config_save_func,
1615
file_name_format_hint, version):
1716
dialog_base.SettingsDialogBase.__init__(self, None)
1817
self.panel = SettingsDialogPanel(
19-
self, extra_data_func, config_save_func, file_name_format_hint)
18+
self, extra_data_func, config_save_func, file_name_format_hint)
2019
best_size = self.panel.BestSize
2120
# hack for some gtk themes that incorrectly calculate best size
2221
best_size.IncBy(dx=0, dy=30)
@@ -82,6 +81,21 @@ class GeneralSettingsPanel(dialog_base.GeneralSettingsPanelBase):
8281
def __init__(self, parent, file_name_format_hint):
8382
dialog_base.GeneralSettingsPanelBase.__init__(self, parent)
8483
self.file_name_format_hint = file_name_format_hint
84+
bitmaps = os.path.join(os.path.dirname(__file__), "bitmaps")
85+
self.m_btnSortUp.SetBitmap(wx.Bitmap(
86+
os.path.join(bitmaps, "btn-arrow-up.png"), wx.BITMAP_TYPE_PNG))
87+
self.m_btnSortDown.SetBitmap(wx.Bitmap(
88+
os.path.join(bitmaps, "btn-arrow-down.png"), wx.BITMAP_TYPE_PNG))
89+
self.m_btnSortAdd.SetBitmap(wx.Bitmap(
90+
os.path.join(bitmaps, "btn-plus.png"), wx.BITMAP_TYPE_PNG))
91+
self.m_btnSortRemove.SetBitmap(wx.Bitmap(
92+
os.path.join(bitmaps, "btn-minus.png"), wx.BITMAP_TYPE_PNG))
93+
self.m_bpButton5.SetBitmap(wx.Bitmap(
94+
os.path.join(bitmaps, "btn-question.png"), wx.BITMAP_TYPE_PNG))
95+
self.m_btnBlacklistAdd.SetBitmap(wx.Bitmap(
96+
os.path.join(bitmaps, "btn-plus.png"), wx.BITMAP_TYPE_PNG))
97+
self.m_btnBlacklistRemove.SetBitmap(wx.Bitmap(
98+
os.path.join(bitmaps, "btn-minus.png"), wx.BITMAP_TYPE_PNG))
8599

86100
# Handlers for GeneralSettingsPanelBase events.
87101
def OnComponentSortOrderUp(self, event):
@@ -103,8 +117,8 @@ def OnComponentSortOrderDown(self, event):
103117

104118
def OnComponentSortOrderAdd(self, event):
105119
item = wx.GetTextFromUser(
106-
"Characters except for A-Z will be ignored.",
107-
"Add sort order item")
120+
"Characters other than A-Z will be ignored.",
121+
"Add sort order item")
108122
item = re.sub('[^A-Z]', '', item.upper())
109123
if item == '':
110124
return
@@ -114,7 +128,7 @@ def OnComponentSortOrderAdd(self, event):
114128
return
115129
self.componentSortOrderBox.Append(item)
116130
self.componentSortOrderBox.SetSelection(
117-
self.componentSortOrderBox.Count - 1)
131+
self.componentSortOrderBox.Count - 1)
118132

119133
def OnComponentSortOrderRemove(self, event):
120134
selection = self.componentSortOrderBox.Selection
@@ -129,8 +143,8 @@ def OnComponentSortOrderRemove(self, event):
129143

130144
def OnComponentBlacklistAdd(self, event):
131145
item = wx.GetTextFromUser(
132-
"Characters except for A-Z 0-9 and * will be ignored.",
133-
"Add blacklist item")
146+
"Characters other than A-Z 0-9 and * will be ignored.",
147+
"Add blacklist item")
134148
item = re.sub('[^A-Z0-9*]', '', item.upper())
135149
if item == '':
136150
return
@@ -139,8 +153,7 @@ def OnComponentBlacklistAdd(self, event):
139153
self.blacklistBox.SetSelection(found)
140154
return
141155
self.blacklistBox.Append(item)
142-
self.blacklistBox.SetSelection(
143-
self.blacklistBox.Count - 1)
156+
self.blacklistBox.SetSelection(self.blacklistBox.Count - 1)
144157

145158
def OnComponentBlacklistRemove(self, event):
146159
selection = self.blacklistBox.Selection
@@ -169,6 +182,11 @@ def __init__(self, parent, extra_data_func):
169182
dialog_base.ExtraFieldsPanelBase.__init__(self, parent)
170183
self.extra_data_func = extra_data_func
171184
self.extra_field_data = None
185+
bitmaps = os.path.join(os.path.dirname(__file__), "bitmaps")
186+
self.m_btnUp.SetBitmap(wx.Bitmap(
187+
os.path.join(bitmaps, "btn-arrow-up.png"), wx.BITMAP_TYPE_PNG))
188+
self.m_btnDown.SetBitmap(wx.Bitmap(
189+
os.path.join(bitmaps, "btn-arrow-down.png"), wx.BITMAP_TYPE_PNG))
172190

173191
# Handlers for ExtraFieldsPanelBase events.
174192
def OnExtraFieldsUp(self, event):

icons/btn-arrow-down.svg

Lines changed: 70 additions & 0 deletions
Loading

icons/btn-arrow-up.svg

Lines changed: 70 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)