KiCad PCB EDA Suite
Loading...
Searching...
No Matches
ui_common.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2018-2021 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
26#ifndef UI_COMMON_H
27#define UI_COMMON_H
28
29#include <kicommon.h>
30#include "report_severity.h" // enum SEVERITY
31#include <wx/string.h>
32#include <wx/font.h>
33
34class wxSize;
35class wxTextCtrl;
36class wxTextEntry;
37class wxWindow;
38class wxMenuItem;
39class wxMenu;
40
45#define INDETERMINATE_STATE _( "-- mixed values --" )
46#define INDETERMINATE_ACTION _( "-- leave unchanged --" )
47
48namespace KIUI
49{
50
56
61KICOMMON_API wxSize GetTextSize( const wxString& aSingleLine, wxWindow* aWindow );
62
64
65KICOMMON_API wxFont GetControlFont( wxWindow* aWindow );
66KICOMMON_API wxFont GetInfoFont( wxWindow* aWindow );
67KICOMMON_API wxFont GetDockedPaneFont( wxWindow* aWindow );
68KICOMMON_API wxFont GetStatusFont( wxWindow* aWindow );
69
84KICOMMON_API bool EnsureTextCtrlWidth( wxTextCtrl* aCtrl, const wxString* aString = nullptr );
85
89KICOMMON_API void SelectReferenceNumber( wxTextEntry* aTextEntry );
90
96KICOMMON_API wxString EllipsizeStatusText( wxWindow* aWindow, const wxString& aString );
97
103KICOMMON_API wxString EllipsizeMenuText( const wxString& aString );
104
110KICOMMON_API bool IsInputControlFocused( wxWindow* aFocus = nullptr );
111
119KICOMMON_API bool IsInputControlEditable( wxWindow* aControl );
120
122
127KICOMMON_API void Disable( wxWindow* aWindow );
128
129KICOMMON_API extern const wxString s_FocusStealableInputName;
130
131
142KICOMMON_API void AddBitmapToMenuItem( wxMenuItem* aMenu, const wxBitmap& aImage );
143
144
155KICOMMON_API wxMenuItem* AddMenuItem( wxMenu* aMenu, int aId, const wxString& aText, const wxBitmap& aImage,
156 wxItemKind aType = wxITEM_NORMAL );
157
158
170KICOMMON_API wxMenuItem* AddMenuItem( wxMenu* aMenu, int aId, const wxString& aText, const wxString& aHelpText,
171 const wxBitmap& aImage, wxItemKind aType = wxITEM_NORMAL );
172
173
184KICOMMON_API wxMenuItem* AddMenuItem( wxMenu* aMenu, wxMenu* aSubMenu, int aId, const wxString& aText,
185 const wxBitmap& aImage );
186
187
200KICOMMON_API wxMenuItem* AddMenuItem( wxMenu* aMenu, wxMenu* aSubMenu, int aId, const wxString& aText,
201 const wxString& aHelpText, const wxBitmap& aImage );
202}
203
204KICOMMON_API SEVERITY SeverityFromString( const wxString& aSeverity );
205
206KICOMMON_API wxString SeverityToString( const SEVERITY& aSeverity );
207
208#endif // UI_COMMON_H
#define KICOMMON_API
Definition: kicommon.h:28
KICOMMON_API wxFont GetMonospacedUIFont()
Definition: ui_common.cpp:89
KICOMMON_API int GetStdMargin()
Get the standard margin around a widget in the KiCad UI.
Definition: ui_common.cpp:45
KICOMMON_API wxFont GetDockedPaneFont(wxWindow *aWindow)
Definition: ui_common.cpp:139
KICOMMON_API wxFont GetStatusFont(wxWindow *aWindow)
Definition: ui_common.cpp:127
KICOMMON_API bool IsInputControlFocused(wxWindow *aFocus=nullptr)
Check if a input control has focus.
Definition: ui_common.cpp:260
KICOMMON_API bool IsInputControlEditable(wxWindow *aControl)
Check if a input control has focus.
Definition: ui_common.cpp:297
KICOMMON_API void AddBitmapToMenuItem(wxMenuItem *aMenu, const wxBitmap &aImage)
Add a bitmap to a menuitem.
Definition: ui_common.cpp:355
KICOMMON_API wxString EllipsizeMenuText(const wxString &aString)
Ellipsize text (at the end) to be no more than 36 characters.
Definition: ui_common.cpp:210
KICOMMON_API wxFont GetInfoFont(wxWindow *aWindow)
Definition: ui_common.cpp:151
KICOMMON_API wxMenuItem * AddMenuItem(wxMenu *aMenu, int aId, const wxString &aText, const wxBitmap &aImage, wxItemKind aType=wxITEM_NORMAL)
Create and insert a menu item with an icon into aMenu.
Definition: ui_common.cpp:369
KICOMMON_API bool IsModalDialogFocused()
Definition: ui_common.cpp:314
KICOMMON_API wxFont GetControlFont(wxWindow *aWindow)
Definition: ui_common.cpp:157
KICOMMON_API wxString EllipsizeStatusText(wxWindow *aWindow, const wxString &aString)
Ellipsize text (at the end) to be no more than 1/3 of the window width.
Definition: ui_common.cpp:192
KICOMMON_API const wxString s_FocusStealableInputName
Definition: ui_common.cpp:42
KICOMMON_API void SelectReferenceNumber(wxTextEntry *aTextEntry)
Select the number (or "?") in a reference for ease of editing.
Definition: ui_common.cpp:225
KICOMMON_API wxSize GetTextSize(const wxString &aSingleLine, wxWindow *aWindow)
Return the size of aSingleLine of text when it is rendered in aWindow using whatever font is currentl...
Definition: ui_common.cpp:74
KICOMMON_API bool EnsureTextCtrlWidth(wxTextCtrl *aCtrl, const wxString *aString=nullptr)
Set the minimum pixel width on a text control in order to make a text string be fully visible within ...
Definition: ui_common.cpp:163
KICOMMON_API void Disable(wxWindow *aWindow)
Makes a window read-only.
Definition: ui_common.cpp:320
SEVERITY
KICOMMON_API SEVERITY SeverityFromString(const wxString &aSeverity)
Definition: ui_common.cpp:52
KICOMMON_API wxString SeverityToString(const SEVERITY &aSeverity)
Definition: ui_common.cpp:63