Paul Licameli
4fdd1b005c
Another part of the fix begun at 8640a83
2019-12-04 16:23:12 -05:00
Paul Licameli
ca70cc940f
Don't concatenate ":" onto user-visible strings...
...
... include it in the msgid intead, to get appropriate translations. For
instance some locales use the same character but prefer to insert a space
before it.
2019-12-04 16:19:07 -05:00
Paul Licameli
674ac42de9
ShuggleGui::NameSuffix inserts a space
2019-12-04 00:12:47 -05:00
Paul Licameli
7e314dcc37
More chain-call ShuttleGui functions specifying control attributes...
...
... so the code specifying the dialogs becomes more declarative and less
procedural.
2019-12-03 00:03:36 -05:00
Paul Licameli
930c21dc2a
Define and use ShuttleGui::Size
2019-12-02 22:02:46 -05:00
Paul Licameli
dd954247d3
More uses of Position(); don't fiddle with sizer items directly
2019-12-02 22:01:55 -05:00
Paul Licameli
3aef0f4eef
Don't directly create wxPanel in Equalization
2019-12-02 22:01:27 -05:00
Paul Licameli
96291c5476
Remove second argument of AddWindow(), use Position() instead
2019-12-02 22:01:22 -05:00
Paul Licameli
b5ee7676fd
Rename ShuttleGui::SetSizeHints, chain-call it like other methods...
...
... And rewrite some other existing calls to SetMinSize
2019-12-02 19:35:06 -05:00
Paul Licameli
64a96e6f01
Define and use ShuttleGui::ConnectRoot...
...
... And corrected improper connections in HistoryWindow and ContrastDialog,
improper because they got called with the wrong this pointer, to
the control instead of the dialog. But that was harmless anyway because the
handlers did not use this.
2019-12-02 19:35:01 -05:00
Paul Licameli
d98e41aad1
Define and use ShuttleGui::Disable; remove EnableCtrl
2019-12-02 17:54:07 -05:00
Paul Licameli
c72dbf5b51
Define and use ShuttleGui::Focus
2019-12-02 17:26:40 -05:00
Paul Licameli
30d375d6fa
Remove style argument from ShuttleGui::AddCombo & AddListBox...
...
... use the Style() chain-call instead, as needed
2019-12-02 17:26:38 -05:00
Paul Licameli
1bfbfb9640
ShuttleGui::Style analogous to other functions
2019-12-02 17:23:34 -05:00
Paul Licameli
9eeef4713d
Define and use ShuttleGui::Name and NameSuffix...
...
... For radio buttons, the name will default to the same as the prompt if not
otherwise specified
2019-12-02 16:55:46 -05:00
Paul Licameli
3ea0209e5c
Define and use ShuttleGui::ToolTip
2019-12-02 11:41:51 -05:00
Paul Licameli
1d32824e02
Define and use ShuttleGui::Validator
2019-12-02 11:21:40 -05:00
Paul Licameli
8ea137e041
Define struct DialogDefinition::Item, to be filled in
2019-12-01 22:21:49 -05:00
Paul Licameli
4a2cfd92d7
Define and use TranslatableString, instead of naked wxString...
...
... This type is now the value returned by the XO macro, and holds a string
that should be looked up in the translation catalog, not shown directly to the
user.
The type does not implicitly convert to or from wxString, so you must construct
it explicitly, or use XO, or use its Translation() member function, or else the
compiler stops you with an error.
2019-12-01 21:14:26 -05:00
Paul Licameli
72df562c4a
Conversion of TranslatableString to wxString is private
2019-12-01 18:17:57 -05:00
Paul Licameli
0b6618e491
Use TranslatableString in NumericTextCtrl...
...
... Fixing a minor error in TimerRecordDialog, where translation of format was
done too soon
2019-12-01 18:08:56 -05:00
Paul Licameli
b351eabf47
ComponentInterfaceSymbol contains TranslatableString
2019-12-01 18:08:56 -05:00
Paul Licameli
e4a7c9ba5b
Uses of TranslatableString as value of XO macro...
...
... It is not implicitly convertible from wxString, compelling many uses of
the new type to fix compilation.
2019-12-01 18:05:20 -05:00
Paul Licameli
911f5eabcc
Define TranslatableString...
...
... Perhaps it should be in Internat.h (which is at the lowest level of the
dependency graph), but later ComponentInterface.h will need to include it, and
I don't want includes/ to depend on src/.
Though there is still a linkage dependency on src if
TranslatableString::Translation() is used.
2019-12-01 18:05:20 -05:00
Paul Licameli
8640a83b25
"System" in language choice in Interface prefs was blank, fixed that
2019-12-01 18:04:51 -05:00
Paul Licameli
84efd63a70
Fix internationalization of pitch names...
...
... Translations were in the catalog, but weren't used.
Affects Change Pitch effect and Plot Spectrum cross-hair readouts.
See for instance Czech (cs) locale, where "H" should replace "B".
2019-12-01 14:06:15 -05:00
Paul Licameli
3704336a58
Fix dangling pointer bug, caused assertion opening Preferences
2019-12-01 13:50:36 -05:00
Paul Licameli
ab05cdcdaf
Miscellaneous preliminaries before improving ShuttleGui
2019-11-29 15:16:51 -05:00
Paul Licameli
b256a4fd1a
Less code directly inside ShuttleGui code blocks...
...
... Trying to reduce that just to chained calls on S, or conditional and looping
logic for variations in layout.
Lift some declarations to higher scope; or use expressions that avoid local
variables; or even use lambdas for more complicated computation of arguments
for the member functions of S.
2019-11-29 15:16:51 -05:00
Paul Licameli
f846c25806
Rewrite AddChoice and TieChoice calls...
...
... either lifting or inlining array-of-string computations, so fewer statements
are mixed among ShuttleGui method calls
2019-11-29 15:16:48 -05:00
Paul Licameli
f07d33f4b5
Fix bug in pushing and popping sizers in notebook pages...
...
... Wrong sizer was pushed instead of the page's own, and was popped as
current sizer, when the first sub-sizer in the page was done.
But nothing was affected by this error, because notebook pages are used only
in the About dialog, and none of the pages have more than one directly nested
sizer. So popping null as current sizer didn't matter because the stack did
not deepen again.
PushSizer() only after assigning mpSizer, as with other calls to it.
2019-11-28 14:24:44 -05:00
Paul Licameli
ae353fe61f
Specify list control columns and styles all in one call
2019-11-28 14:24:44 -05:00
Paul Licameli
17ee2478bc
An overload of AddChoice specifying selected as string value
2019-11-28 14:24:44 -05:00
Paul Licameli
089b46ab64
Specify initial radio button state in ShuttleGui method arguments
2019-11-28 14:24:44 -05:00
Paul Licameli
fab756562e
Use AddSlider arguments, not SetRange()
2019-11-28 14:24:43 -05:00
Paul Licameli
bca0afd52e
ShuttleGui lets you specify whether a button is default. Use that.
2019-11-28 14:24:43 -05:00
Paul Licameli
cd4266792a
Comment how AddStandardButtons sets default; remove redundant call
2019-11-28 14:24:43 -05:00
Paul Licameli
6bff718248
Comments about wxALL where there are position arguments in ShuttleGui
2019-11-28 14:24:43 -05:00
Paul Licameli
1cd795aadb
Comments about the purpose of SettingName for radio buttons
2019-11-28 14:24:43 -05:00
Paul Licameli
43a8725044
comment
2019-11-28 14:24:43 -05:00
Paul Licameli
7ccd35d219
wxWidgets docs recommend: don't SetSizeHints on non-top-level windows
2019-11-28 14:24:43 -05:00
Paul Licameli
c67a47e3e6
ShuttleGuiBase::mpDlg is const
2019-11-28 14:24:43 -05:00
Paul Licameli
f20e4786e9
Replace ShuttleGui::SetNoMatchSelector with arg in TieNumberAsChoice
2019-11-28 14:24:43 -05:00
Paul Licameli
5616137a8b
Some preliminaries for improved management of preferences
2019-11-28 13:31:41 -05:00
Paul Licameli
d4ffbe0d68
Group setting path & default value arguments of Tie...() functions
2019-11-28 13:26:23 -05:00
Paul Licameli
7675d51044
Separate function TieIntegerTextBox...
...
... For the cases in which there is an associated preference variable which
should be a whole number
2019-11-28 13:18:33 -05:00
Paul Licameli
7fbe97c5ca
Privatize, rename ShuttleGuiBase member fns (those using WrappedType)
2019-11-28 12:54:57 -05:00
Paul Licameli
08a9e7246f
Use the proper type alias for ComponentInterfaceSymbol
2019-11-27 22:03:25 -05:00
Paul Licameli
e4e6e0a03a
Make sure to translate certain strings in ExportMP3 rewrite
2019-11-27 21:43:02 -05:00
Paul Licameli
1add6f3930
Fix warning treated as error in Mac build
2019-11-27 21:38:59 -05:00