Skip to content

About

A wxWidgets landing page for an application

Resources

Stars

10 stars

Watchers

1 watching

Forks

Latest commit

 

History

272 Commits

Folders and files

Repository files navigation

wxStartPage

Platforms Result
Linux Linux Build
macOS macOS Build
Code Analyses Result
cppcheck cppcheck
Doxygen doxygen
Quneiform quneiform

About

A wxWidgets landing page for an application.

It displays a most-recently-used file list on the right side (up to 9 files) and a list of customizable buttons on the left.

  • Users clicking on these buttons can be handled via a wxEVT_STARTPAGE_CLICKED event.
  • Modified dates are shown next to each file in the MRU list. These dates are shown in a human readable format (e.g., "Just now", "12 minutes ago", "Yesterday", "Tues at 1:07 PM").
  • Human readable file paths are shown below the files (e.g., "Documents » Invoices")
  • Includes a "Clear File List" button beneath the MRU list. (Clears the list only, doesn't delete the files.)
  • The application name & logo can be shown above the custom buttons.
  • A dynamic greeting (based on the time of day) is shown above the MRU list. This greeting is also customizable (e.g., can optionally include the user's name).
  • Customizable theming.
  • Supports dark mode.
  • Supports HiDPI displays.
  • Fully internationalized (messages are available via gettext).
  • Full keyboard navigation support:
    • Tab: Focus the control or move focus to the next control.
    • Up/Down Arrows: Navigate through items in the active column (cycles and wraps).
    • Left/Right Arrows: Switch between the button area (left) and MRU list (right).
    • Enter/Space: Activate the highlighted button or file.
  • Screen reader support (Windows only):
    • The custom buttons, MRU files, and the "Clear file list"/"Browse for a file" button are exposed as push buttons, with names, states, locations, and default actions.
    • Changes to the highlighted button, and to the list of buttons, are announced.

Dark theme:

Button hover effect:

Button hover 3D effect:

Building

Download the repository:

git clone https://github.com/Blake-Madden/wxStartPage.git

Then, include startpage.h and startpage.cpp in your project.

To build the demo, build demo/CMakeLists.txt with CMake and your compiler of choice.

Documentation

To build the API documentation, open Doxyfile in Doxygen and run it.

Dependencies

  • wxWidgets 3.2 or higher
  • A C++17 compatible compiler

About

A wxWidgets landing page for an application

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages