diff options
Diffstat (limited to 'wx+')
-rwxr-xr-x | wx+/app_main.h | 9 | ||||
-rwxr-xr-x | wx+/choice_enum.h | 3 | ||||
-rwxr-xr-x | wx+/context_menu.h | 1 | ||||
-rwxr-xr-x | wx+/dc.h | 1 | ||||
-rwxr-xr-x | wx+/graph.cpp | 18 | ||||
-rwxr-xr-x | wx+/graph.h | 2 | ||||
-rwxr-xr-x | wx+/grid.cpp | 6 | ||||
-rwxr-xr-x | wx+/grid.h | 2 | ||||
-rwxr-xr-x | wx+/http.cpp | 6 | ||||
-rwxr-xr-x | wx+/http.h | 2 | ||||
-rwxr-xr-x | wx+/image_resources.h | 1 | ||||
-rwxr-xr-x | wx+/no_flicker.h | 1 | ||||
-rwxr-xr-x | wx+/rtl.h | 1 | ||||
-rwxr-xr-x | wx+/toggle_button.h | 17 |
14 files changed, 39 insertions, 31 deletions
diff --git a/wx+/app_main.h b/wx+/app_main.h index d9559fea..8d2a6eeb 100755 --- a/wx+/app_main.h +++ b/wx+/app_main.h @@ -10,6 +10,7 @@ #include <wx/window.h> #include <wx/app.h> + namespace zen { //just some wrapper around a global variable representing the (logical) main application window @@ -22,12 +23,16 @@ bool mainWindowWasSet(); //######################## implementation ######################## +namespace impl +{ inline bool& refMainWndStatus() { static bool status = false; //external linkage! return status; } +} + inline void setMainWindow(wxWindow* window) @@ -35,10 +40,10 @@ void setMainWindow(wxWindow* window) wxTheApp->SetTopWindow(window); wxTheApp->SetExitOnFrameDelete(true); - refMainWndStatus() = true; + impl::refMainWndStatus() = true; } -inline bool mainWindowWasSet() { return refMainWndStatus(); } +inline bool mainWindowWasSet() { return impl::refMainWndStatus(); } } #endif //APP_MAIN_H_08215601837818347575856 diff --git a/wx+/choice_enum.h b/wx+/choice_enum.h index a19e1457..6b2edd01 100755 --- a/wx+/choice_enum.h +++ b/wx+/choice_enum.h @@ -33,7 +33,6 @@ Update enum tooltips (after user changed selection): updateTooltipEnumVal(enumDescrMap, *m_choiceHandleError); */ - namespace zen { template <class Enum> @@ -41,7 +40,7 @@ struct EnumDescrList { EnumDescrList& add(Enum value, const wxString& text, const wxString& tooltip = {}) { - descrList.emplace_back(value, std::make_pair(text, tooltip)); + descrList.push_back({ value, { text, tooltip } }); return *this; } using DescrList = std::vector<std::pair<Enum, std::pair<wxString, wxString>>>; diff --git a/wx+/context_menu.h b/wx+/context_menu.h index de351df4..7f459aca 100755 --- a/wx+/context_menu.h +++ b/wx+/context_menu.h @@ -22,7 +22,6 @@ Usage: ... menu.popup(wnd); */ - namespace zen { class ContextMenu : private wxEvtHandler @@ -11,6 +11,7 @@ #include <zen/optional.h> #include <wx/dcbuffer.h> //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER + namespace zen { /* diff --git a/wx+/graph.cpp b/wx+/graph.cpp index b81896b4..dbce3769 100755 --- a/wx+/graph.cpp +++ b/wx+/graph.cpp @@ -539,8 +539,6 @@ void Graph2D::addCurve(const std::shared_ptr<CurveData>& data, const CurveAttrib void Graph2D::render(wxDC& dc) const { - using namespace numeric; - //set label font right at the start so that it is considered by wxDC::GetTextExtent() below! dc.SetFont(labelFont_); @@ -722,10 +720,10 @@ void Graph2D::render(wxDC& dc) const const wxPoint screenCurrent = activeSel_->refCurrentPos() - graphAreaOrigin; //normalize positions: a mouse selection is symmetric and *not* an half-open range! - double screenFromX = clampCpy(screenStart .x, 0, graphArea.width - 1); - double screenFromY = clampCpy(screenStart .y, 0, graphArea.height - 1); - double screenToX = clampCpy(screenCurrent.x, 0, graphArea.width - 1); - double screenToY = clampCpy(screenCurrent.y, 0, graphArea.height - 1); + double screenFromX = numeric::clampCpy(screenStart .x, 0, graphArea.width - 1); + double screenFromY = numeric::clampCpy(screenStart .y, 0, graphArea.height - 1); + double screenToX = numeric::clampCpy(screenCurrent.x, 0, graphArea.width - 1); + double screenToY = numeric::clampCpy(screenCurrent.y, 0, graphArea.height - 1); widen(&screenFromX, &screenToX); //use full pixel range for selection! widen(&screenFromY, &screenToY); @@ -780,10 +778,10 @@ void Graph2D::render(wxDC& dc) const shrink(&screenFromX, &screenToX); shrink(&screenFromY, &screenToY); - clamp(screenFromX, 0.0, graphArea.width - 1.0); - clamp(screenFromY, 0.0, graphArea.height - 1.0); - clamp(screenToX, 0.0, graphArea.width - 1.0); - clamp(screenToY, 0.0, graphArea.height - 1.0); + numeric::clamp(screenFromX, 0.0, graphArea.width - 1.0); + numeric::clamp(screenFromY, 0.0, graphArea.height - 1.0); + numeric::clamp(screenToX, 0.0, graphArea.width - 1.0); + numeric::clamp(screenToY, 0.0, graphArea.height - 1.0); const wxPoint pixelFrom = wxPoint(numeric::round(screenFromX), numeric::round(screenFromY)) + graphAreaOrigin; diff --git a/wx+/graph.h b/wx+/graph.h index 5c71ed52..45129c4b 100755 --- a/wx+/graph.h +++ b/wx+/graph.h @@ -16,8 +16,8 @@ #include <zen/string_tools.h> #include <zen/optional.h> -//elegant 2D graph as wxPanel specialization +//elegant 2D graph as wxPanel specialization namespace zen { /* diff --git a/wx+/grid.cpp b/wx+/grid.cpp index b301bf6b..64f7f4a6 100755 --- a/wx+/grid.cpp +++ b/wx+/grid.cpp @@ -462,8 +462,8 @@ public: const int yFrom = refParent().CalcUnscrolledPosition(clientRect.GetTopLeft ()).y; const int yTo = refParent().CalcUnscrolledPosition(clientRect.GetBottomRight()).y; - return std::make_pair(std::max(yFrom / rowHeight_, 0), - std::min<ptrdiff_t>((yTo / rowHeight_) + 1, refParent().getRowCount())); + return { std::max(yFrom / rowHeight_, 0), + std::min<ptrdiff_t>((yTo / rowHeight_) + 1, refParent().getRowCount()) }; } private: @@ -1269,7 +1269,7 @@ private: ColLabelWin& colLabelWin_; std::unique_ptr<MouseSelection> activeSelection_; //bound while user is selecting with mouse - MouseHighlight highlight_; //current mouse highlight_ (superseeded by activeSelection_ if available) + MouseHighlight highlight_; //current mouse highlight_ (superseded by activeSelection_ if available) ptrdiff_t cursorRow_ = 0; size_t selectionAnchor_ = 0; @@ -14,8 +14,8 @@ #include <zen/basic_math.h> #include <zen/optional.h> -//a user-friendly, extensible and high-performance grid control +//a user-friendly, extensible and high-performance grid control namespace zen { enum class ColumnType { NONE = -1 }; //user-defiend column type diff --git a/wx+/http.cpp b/wx+/http.cpp index fa88bb1d..1526d30f 100755 --- a/wx+/http.cpp +++ b/wx+/http.cpp @@ -33,9 +33,9 @@ public: { ZEN_ON_SCOPE_FAIL( cleanup(); /*destructor call would lead to member double clean-up!!!*/ ); - assert(!startsWith(url, L"https:", CmpAsciiNoCase())); //not supported by wxHTTP! - const std::wstring urlFmt = startsWith(url, L"http://", CmpAsciiNoCase()) || - startsWith(url, L"https://", CmpAsciiNoCase()) ? afterFirst(url, L"://", IF_MISSING_RETURN_NONE) : url; + //assert(!startsWith(url, L"https:", CmpAsciiNoCase())); //not supported by wxHTTP! + + const std::wstring urlFmt = afterFirst(url, L"://", IF_MISSING_RETURN_NONE); const std::wstring server = beforeFirst(urlFmt, L'/', IF_MISSING_RETURN_ALL); const std::wstring page = L'/' + afterFirst(urlFmt, L'/', IF_MISSING_RETURN_NONE); @@ -15,7 +15,7 @@ namespace zen /* TREAD-SAFETY ------------ - Windows: WinInet-based => may be called from worker thread + Windows: WinInet-based => may be called from worker thread, supports HTTPS Linux: wxWidgets-based => don't call from worker thread */ class HttpInputStream diff --git a/wx+/image_resources.h b/wx+/image_resources.h index 3c3bf39c..cc4ab2cc 100755 --- a/wx+/image_resources.h +++ b/wx+/image_resources.h @@ -11,6 +11,7 @@ #include <wx/animate.h> #include <zen/zstring.h> + namespace zen { void initResourceImages(const Zstring& filepath); //pass resources .zip file at application startup diff --git a/wx+/no_flicker.h b/wx+/no_flicker.h index f9bf862b..03969c00 100755 --- a/wx+/no_flicker.h +++ b/wx+/no_flicker.h @@ -10,6 +10,7 @@ #include <wx/textctrl.h> #include <wx/stattext.h> + namespace zen { inline @@ -12,6 +12,7 @@ #include <wx/image.h> #include <wx/app.h> + namespace zen { //functions supporting right-to-left GUI layout diff --git a/wx+/toggle_button.h b/wx+/toggle_button.h index 0172881e..f61c3857 100755 --- a/wx+/toggle_button.h +++ b/wx+/toggle_button.h @@ -10,6 +10,9 @@ #include <wx/bmpbuttn.h> #include <wx+/bitmap_button.h> + +namespace zen +{ class ToggleButton : public wxBitmapButton { public: @@ -29,12 +32,11 @@ public: const wxBitmap& inactiveBmp); void setActive(bool value); - bool isActive() const { return active; } - void toggle() { setActive(!active); } + bool isActive() const { return active_; } + void toggle() { setActive(!active_); } private: - bool active = false; - + bool active_ = false; wxBitmap activeBmp_; wxBitmap inactiveBmp_; }; @@ -53,15 +55,16 @@ void ToggleButton::init(const wxBitmap& activeBmp, activeBmp_ = activeBmp; inactiveBmp_ = inactiveBmp; - setActive(active); + setActive(active_); } inline void ToggleButton::setActive(bool value) { - active = value; - zen::setImage(*this, active ? activeBmp_ : inactiveBmp_); + active_ = value; + setImage(*this, active_ ? activeBmp_ : inactiveBmp_); +} } #endif //TOGGLE_BUTTON_H_8173024810574556 |