Skip to content

Latest commit

 

History

History
384 lines (298 loc) · 23.2 KB

Changelog.md

File metadata and controls

384 lines (298 loc) · 23.2 KB

NAppGUI Changelog

v1.5.0 - WIP

Added

Fixed

  • Issue in Layout when window becomes very small. Commit.
  • Issue in bmath_prec(). Commit.
  • Vulnerability in str_upd(). Commit.

Improved

v1.4.3 - Oct 12, 2024 (r5533)

Added

  • macOS support for edit_select(). Commit.
  • macOS support for edit_copy(), edit_paste() and edit_cut(). Commit.
  • New demo on text selection and clipboard. Doc. Commit.
  • macOS support for textview_select(). Commit.
  • macOS support for textview_copy(), textview_paste() and textview_cut(). Commit.
  • macOS support for textview_OnFilter(). Commit.
  • unicode_move(). Doc. Commit.
  • Button shortcuts. Doc. Commit.
  • textview_wrap(). Doc. Issue. Commit.
  • view_allow_tab(). Doc. Commit.
  • textview_apply_all(), textview_apply_sel(). Doc. Issue. Commit.
  • textview_show_select(). Commit.
  • New TextEditor demo. Doc. Commit.
  • Support for OpenGL 3D graphics. Issue. Commit.
  • draw_r2df(), draw_r2dd(), Draw::r2d(). Commit.
  • draw2d_preferred_monospace(). Commit.
  • listbox_font(). Commit.
  • ekFCELL in font style to indicate the font size means cell height. Commit.
  • Support for font stretch. Doc. Commit.
    • font_with_width().
    • font_with_xscale().
    • font_width().
    • font_xscale().

Fixed

  • GTK scrollbars position. Commit.
  • GTK flatbutton padding. Commit.
  • GTK render listbox checks in Xubuntu. Commit.
  • macOS HighSierra and lowers focus ring drawing issue. Commit.
  • Issue in dbind_destroy(). Commit.
  • Issue in layout_panel_replace(). Commit.
  • GTK buttons always show shortcut underscore. Commit.
  • macOS pushbuttons images were not shown. Commit.
  • gui_alt_color() avoid to register twice the same color. Commit.

Improved

  • NAppGUI build documentation. Doc.

Build system

  • CMake install use NAppGUIOptions.txt for build info. Commit.
  • MinGW desktop apps don't require a local Application.manifest. They reference the same file in /prj/templates. Commit.
  • New function nap_link_inet(targetName). Commit.
  • New function nap_link_opengl(targetName). Commit.
  • New CMake option -DNAPPGUI_NO_CRTDBG=YES to disable the CRT debugger in Windows. Issue. Commit.

v1.4.2 - Jun 30, 2024 (r5177)

Added

  • osapp_argc() and osapp_argv(). Commit.
  • Improved font monospace support and metrics. Doc. Commit.
    • font_ascent().
    • font_descent().
    • font_leading().
    • font_is_monospace().
    • font_installed_monospace().
  • WebView support. Doc. Issue. Commit.
    • New public header webview.h.
    • guicontrol_webview().
    • layout_webview().
    • layout_get_webview().
    • cell_webview().
  • blib_setenv() Doc. Commit.

Fixed

  • WindowsXP TableView/ListBox select colors. Commit.
  • macOS TableView/ListBox select colors. Issue. Commit.
  • WindowsXP flat buttons drawing. Commit.
  • macOS Snow Leopard focus ring. Commit.
  • Crash in ColorView demo. Issue. Commit.
  • Crash in str_repl() on macOS.Doc.
  • GTK window_OnClose() doesn't hide the window when FALSE is returned. Commit.

Removed

  • guicontrol_enabled() and guicontrol_visible() because unsafe. Use cell_enabled(), cell_visible(). Commit.

Improved

  • gui_text_t properties in private API. Commit.
  • str_splits() adds a new add_empty parameter. Issue. Doc. Commit.

Build system

v1.4.1 - Apr 3, 2024 (r4993)

Added

  • unicode_convers_nbytes_n(). Commit.
  • popup_get_text(). Commit.
  • modifiers field in EvMouse. Commit.
  • tag field in EvMouse. Commit.
  • listbox_OnDown(). Commit.
  • Overlay windows (flyout) Issue. Doc. Commit.
    • window_overlay().
    • window_control_frame() and window_client_to_screen() Issue.
    • gui_OnIdle().
  • Dynamic layouts Issue. Doc.
    • arrpt_insert_n().
    • cell_empty().
    • layout_panel_replace() Issue.
    • guicontrol_tag().
    • guicontrol_get_tag().
    • layout_ncols().
    • layout_nrows().
    • layout_insert_col().
    • layout_insert_row().
    • layout_remove_col().
    • layout_remove_row().
  • label_size_text(). Doc. Commit.
  • window_focus_info.

Improved

Fixed

  • macOS Sonoma OSView clipping. Commit. Doc.
  • macOS Sonoma NSMenu check obsolete. Doc. Issue. Commit.
  • macOS Sonoma OSLabel clipping. Commit.
  • Windows XP THEME issue. Commit.
  • modifiers field in EvKey issue. Issue. Commit.
  • listbox_color issue in macOS and GTK+3. Commit.
  • macOS version adapts to Light/Dark/Accents colors at runtime. Commit.
  • Read/write memory streams END_BIT issue. Commit.
  • Missed unix implementation of bfile_dir_work(). Commit.
  • macOS comwin_open_file() issue with file types. Issue. Commit.
  • macOS ekGUI_CURSOR_SIZENS bitmap Commit.

Build system

  • Fix Multi-config install issue Commit.
  • Compiler warning in dlib_proc. Commit.
  • GCC Warnings. Commit.
  • RaspPI ARM7. Commit.

v1.4.0 - Dec 31, 2023 (r4772)

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().

v1.3.1 - Sep 05, 2023 (r4181)

Added

  • Methods to move to next/previous tabstop. Commit, Doc.
    • layout_next_tabstop
    • layout_previous_tabstop
    • window_next_tabstop
    • window_previous_tabstop

Fixed

  • .def files compatibles with BUSY build system. Issue, Commit.
  • Bug in SplitView with nested panels. Issue, Commit.
  • Bug in LexicalScanner. Commit.
  • macOS issue in empty-text checkboxes. Commit.
  • Json issues and improved documentation. Commit, Doc.
  • macOS Lion edit focus issue. Commit.

v1.3.0 - Dec 26, 2022 (r4146)

Added

  • New header <blib.h> Doc.
  • New header <dlib.h> Doc.
  • Support for TableView Doc.
  • Compiler definitions for static/dynamic functions export/import
    • _sewer_api
    • _osbs_api
    • _core_api
    • _geom2d_api
    • _draw2d_api
    • _osgui_api
    • _gui_api
    • _osapp_api
    • _inet_api

Improved

  • Full review of ANSI C90
  • New .pdf ebook edition

Build system

  • Support for generate dynamic libraries dynamicLib(). Doc.
  • Possibility to choose the standard C/C++ per project. Doc.
  • staticLib() adds libName parameter.
  • commandLib() adds appName parameter.
  • dynamicLib() new build command.
  • Support for multiple targets from same source folder.
  • generateSolution() should be added at the end of src/CMakeLists.txt

v1.2.4 - Dec 26, 2022 (r3888)

Fixed

  • Fix Right-Shift tabstop in Windows.
  • GTK+3 issue in Wayland (forced X11).

v1.2.3 - Jun 5, 2022 (r3778)

Added

  • Linux ARM64 build support.
  • Build support for "AppleClang" compiler ID.

Fixed

  • TextView rich text working on macOS
  • Solved compile warnings with macOS SDK 12.0

v1.2.2 - Apr 30, 2022 (r3744)

Added

  • GCC11 Ubuntu 22.04 support.

Fixed

  • GTK3 issues in older versions (Ubuntu 12, 14, 16).
  • Proc deadlock in Win32 bproc_read_close.

v1.2.1 - Apr 9, 2022 (r3657)

Added

  • buffer_const()
  • buffer_with_data()
  • heap_leaks()
  • heap_stats()
  • bfile_pos()
  • bfile_seek()
  • layout_dbind_update()
  • evbind_modify()
  • evbind_object()
  • r2d_centerf()
  • VisualStudio 2022 support.
  • Xcode 13 macOS Monterey support.

Improved

  • Containers 'const' treatment (Arrays, Sets).
  • Linux Gtk3/Curl/Pthread package dependencies management.
  • GUI data binding implementation and docs: Doc.

Fixed

  • GIF animations in GTK/Linux.

v1.2.0 - Oct 16, 2021 (r3382)

  • First Open Source release.