Skip to content

NAppGUI v1.4.0

Choose a tag to compare

@frang75 frang75 released this 31 Dec 06:53
· 212 commits to main since this release

Added

  • String functions: str_relpath(), str_crelpath() and str_splits().
  • guicontrol base object Doc.
  • layout_control() and cell_control().
  • TableView freeze column Doc. tableview_column_freeze().
  • TableView row click event Doc. tableview_OnRowClick(), EvTbRow and ekGUI_EVENT_TBL_ROWCLICK.
  • TableView force row height Doc. tableview_header_height() and tableview_row_height().
  • TableView column-by-column horizontal navigation Doc. tableview_hkey_scroll().
  • TableView focus row Doc. tableview_focus_row(), tableview_get_focus_row().
  • TableView hide scrollbars Doc. tableview_scroll_visible(), view_scroll_visible() and view_scroll_size().
  • TableView multiline headers Doc. '\n' in tableview_header_title().
  • TextView get full text: textview_get_text().
  • TextView select text: textview_select().
  • TextView scroll to caret: textview_scroll_caret().
  • TextView hide scrollbars: textview_scroll_visible().
  • TextView new events: textview_OnFilter(), textview_OnFocus().
  • TextView clipboard: textview_copy(), textview_cut(), textview_paste().
  • edit_OnFilter(): Number of characters inserted or deleted in caret position EvText::len.
  • edit_OnChange(): If event returns FALSE, the focus remains in control.
  • Edit focus detection: edit_OnFocus().
  • Edit select text: edit_select().
  • Edit clipboard: edit_copy(), edit_cut(), edit_paste().
  • Keyboard focus result: gui_focus_t, window_focus(), window_get_focus(), view_OnResignFocus() and view_OnAcceptFocus().
  • Non-cycle tabstops: window_cycle_tabstop().
  • Window hotkey support: window_hotkey(), window_clear_hotkeys() Doc.
  • Window modal avoid hide when close: ekWINDOW_MODAL_NOHIDE Doc.
  • View scrollbar event: view_OnScroll(), gui_scroll_t.
  • View new constructor: view_custom().
  • View draw overlays: view_OnOverlay() Doc.
  • Panel new constructor: panel_custom().
  • Button vertical padding: button_vpadding() and button_get_height().
  • Edit vertical padding: edit_vpadding().
  • blib_getenv() and blib_end().
  • Date functions: blib_strftime(), date_pack(), date_ellapsed_seconds(), date_format(), date_is_valid(), date_weekday().
  • gui_info_window().

Improved

  • Tabstops Doc.
  • View border change color when focus (focus ring).
  • Window keyboard focus Doc.
  • Window default button Doc.
  • splitview_text() and splitview_view() add a new tabstop parameter.
  • Clang-format in all source code.

Fixed

  • Vulnerability in str_split_trim().
  • TableView scrollers always visible: Issue.
  • edit_color() issue.
  • ListBox scrollbar adjustment.
  • Support for full modal application where all windows are modal.
  • Removed visible 64x64 artifact when ImageView is used in Windows.
  • macOS Panel automatic scrolls when non-visible child control is TAB-focused.
  • blib secure functions: blib_strcpy(), blib_strncpy() and blib_strcat(). Issue.
  • Issue Win32 Alt+Tab navigation with modal windows.
  • macOS TableView drawing.
  • GTK3 "dummy" control navigation with arrow keys.
  • GTK3 lost focus when ALT+TAB navigation.
  • GTK3 focus a control when NO tabstops in window.
  • GTK3 issue in TextView editable.
  • GTK3 get screen resolution.
  • window_OnMoved crash on macOS.
  • window_OnMoved GTK implementation.

Removed

  • layout_next_tabstop() and layout_previous_tabstop().
  • textview_scroll_down(). Use now textview_scroll_caret().
  • date_DD_MM_YYYY_HH_MM_SS() and date_YYYY_MM_DD_HH_MM_SS(). Use now date_format().
  • date_month_en() and date_month_es(). Use now date_format().

Build system

  • nrc compiler builds from source. Deleted binary executables from repo. Issue, Issue.
  • Support for cmake --install.
  • Support for CMake find_package().
  • Support for CMake Ninja generator.
  • Support for Clang in Linux.
  • Headers in a single directory. Issue.
  • NAppProject.cmake module for help in NAppGUI-based applications.
    • nap_project_desktop_app().
    • nap_project_command_app().
    • nap_project_library().
    • nap_config_compiler().
    • nap_target_c_standard().
    • nap_target_cxx_standard().