Releases: frang75/nappgui_src
Releases · frang75/nappgui_src
NAppGUI v1.6.0
Added
label_trim(). Commit.dbind_sizeof(). Commit.str_mem(). Commit.image_mem(). Commit.- Support for maximize/minimize windows. Doc. Commit.
window_maximize().window_minimize().window_get_maximize().window_get_minimize().
layout_hexpandn(),layout_vexpandn(). Commit.
Changed
comwin_open_file()adds a new parameterconst char_t *filename. Commit.comwin_save_file()adds a new parameterconst char_t *filename. Commit.dbind_binary()adds a new parameterFPtr_size. Commit.window_size()renamed bywindow_client_size(). Commit.window_is_visible()renamed bywindow_get_visible(). Commit.
Improved
- Text rendering backend. Refactor and full tests. Commit.
Labelimplementation as custom control. RemovedOSLabeland all platform-specific code. Commit.- Custom controls use an optimized
ViewAPIvctrl.inl. No changes in public API. Commit.
Fixed
- Minor issue when removing columns or rows dynamically from layouts. Commit.
- Flickering in toolbutton (Win32). Commit.
- Win32 multiple tooltips in same window. Commit.
- Win32 popup avoid change selection with mouse wheel. Commit.
ekGUI_OFFissue in Gtk menu. Issue. Commit.SplitViewminor fix macOS/Linux. Commit.
Build System
NAppGUI v1.5.3
Added
-
label_get_text(). Commit. -
button_get_text(). Commit. -
button_get_image(). Commit. -
button_get_image_alt(). Commit. -
combo_get_image(). Commit. -
imageview_get_image(). Commit. -
listbox_get_image(). Commit. -
popup_get_image(). Commit. -
New functions in
PopUpandCombo. Doc. Commit.popup_ins_elem().popup_del_elem().combo_OnFocus().combo_OnSelect().combo_min_width().combo_passmode().combo_editable().combo_autoselect().combo_select().combo_copy().combo_cut().combo_paste().combo_clear().combo_list_height().combo_selected().combo_get_selected().
-
font_units(). Commit. -
Support for
ekFCELLintextview_units(). Commit. -
osbs_macos()andmacos_t. Commit. -
tableview_del_column(). Commit. -
tableview_column_count(). Commit. -
tableview_column_icon(). Commit. -
EvTbCelladds aconst Image *iconmember. Commit. -
comwin_select_dir(). Commit. -
Array serialization with user data. Commit.
arrst_read_ex().arrst_write_ex().arrpt_read_ex().arrpt_write_ex().
Fixed
- Issue in
label_align(). Issue. Commit. - Issue in
Editsingle-line scroll in macOS. Issue. Commit. - Issues in
Combo. Issue. Issue. Issue. Commit. - Added include guard to
bmath.hpp. Issue. Commit. image_trim(). Issue. Commit.
Changed
button_vpadding()also is applied to flat buttons. Doc. Commit.label_OnClick()passEvMouseevent param, insteadEvText. Commit.listbox_text()renamed bylistbox_get_text()for API coherence. Commit.tableview_new_column_text()renamed bytableview_add_column_text(). Commit.comwin_open_file()adds a newcaptionparameter. Commit.comwin_save_file()adds a newcaptionparameter. Commit.
Removed
combo_duplicates(). Commit.
Build system
NAppGUI v1.5.2
Added
tableview_column_align(). Commit.- Improved
SplitViewsupport. Doc. Commit.- Added
split_mode_tenum. - Added
splitview_get_pos(). - Added
splitview_visible0(). - Added
splitview_visible1(). - Added
splitview_minsize0(). - Added
splitview_minsize1(). - Added
splitview_get_pos(). - Added
splitview_webview(). - Added
splitview_tableview(). splitview_pos()adds a newmodeparameter.- Removed
splitview_size(). - Renamed
splitview_text()bysplitview_textview(). - Renamed
splitview_split()bysplitview_splitview().
- Added
- New library
encodewith support for data formats and encodings. Issue Set5. Commit.
Fixed
gui_text()bypassconst char_t*strings. Commit.
Changed
Json,Base64andUrlmodules moved frominettoencodeto avoidlibcurldependencies when using them. Issue Set5. Commit.
Build system
- NAppGUI demos use
nap_link_inet(),nap_link_opengl()for coherence with documentation. Issue. Commit. - Added
RelWithDebInfoandMinSizeRelto NAppGUI configurations. Issue. Commit. - Fix warnings in legacy versions of GCC/Clang. Commit.
- Support for CMake 4.0. Commit.
- Fix issue when build NAppGUI shared libraries. Issue. Commit.
NAppGUI v1.5.1
Added
window_is_visible(). Issue. Commit.ekGUI_SCALE_ADJUSTtogui_scale_t, forimageview_scale(). Commit.button_min_width(). Commit.edit_min_width(). Commit.edit_min_height(). Commit.button_get_font(). Commit.label_min_width(). Commit.label_get_font(). Commit.progress_min_width(). Commit.slider_min_width(). Commit.- Dynamic menus. Doc. Issue. Commit.
- Renamed
menu_add_item(), previouslymenu_item(). - Renamed
menu_count(), previouslymenu_size(). - Removed
menu_hide(). - Added
menu_ins_item(). - Added
menu_del_item(). - Added
menu_get_citem(). - Added
menu_is_menubar(). - Added
menuitem_get_text(). - Added
menuitem_get_image(). - Added
menuitem_get_separator(). - Added
menuitem_get_enabled(). - Added
menuitem_get_visible(). - Added
menuitem_get_state().
- Renamed
edit_OnChange()setcposandlenvalues inEvTextevent parameters. Commit.b64_encode_from_cstr(). Commit.menuitem_get_submenu(). Commit.layout_dbind_get_obj(). Commit.listbox_get_selected(). Commit.listbox_get_row_height(). Commit.textview_cpos_printf(). Issue. Commit.textview_cpos_writef(). Issue. Commit.textview_del_select(). Issue. Commit.
Changed
label_multiline()in now a setter and not a constructor. Commit.menu_launch()adds a newWindowparameter. Commit.textview_apply_sel()renamed bytextview_apply_select(). Issue. Commit.
Improved
- Full review and rewrite layout compose, natural sizing and expand algorithms, to avoid known problems in user resizing. Commit.
Fixed
popup_clear()issue in macOS. Issue. Commit.json_write()issue withnullvalues. Issue. Commit.- Issue in NRC generated string with new lines. Issue. Commit.
- Issue in
str_relpath(). Commit. image_write()in macOS, with indexed BMPs. Commit.- Issue in
dbind()default values in struct types. Commit. - Avoid GTK Warnings in
edit_OnFilter()events with multiline controls. Issue. Commit. - Excessive internal padding in GTK
button_flat(). Commit. dlib_open()supports MinGW DLL naminglibXXXX.dll. Commit.
Build system
- Updated to macOS Sequoia. Commit.
NAppGUI v1.5.0
Added
.clang-formatfile. Issue. Commit.arrst_insert_n0(). Doc. Commit.listbox_del_elem(). Doc. Commit.bfile_rename(). Doc. Commit.- Improved support for data binding Doc. Commit.
- Added
core::dbindst_tresult type. dbind()returns nowdbindst_t.dbind_enum()returns nowdbindst_t.- Added
dbind_binary(). - Added
dbind_alias(). - Added
dbind_unreg(). - Added
dbind_copy(). - Added
dbind_cmp(). - Added
dbind_equ(). - Added
json_read_str(). - Added
json_write_str(). - Added
buffer_read(). - Added
buffer_write(). - Added
JsonOptsnew fieldArrPt(String) *log.
- Added
bfile_dir_tmp(). Commit.hfile_tmp_path(). Commit.b64_encode_from_stm. Commit.b64_encode_from_file. Commit.b64_decode_from_str. Commit.b64_decode_from_data. Commit.b64_encode_from_data. Commit.
Changed
SetSt(),SetPt()use compare-key instead compare-objects. Commit.
Fixed
- Issue in
Layoutwhen window becomes very small. Commit. - Issue in
bmath_prec(). Commit. - Vulnerability in
str_upd(). Commit. - Issue in
dlib_open()in macOS. Issue. Commit. - Issue in
heap_realloc_n()macro parenthesis. Issue. Commit.
Improved
Build system
NAppGUI v1.4.3
Added
- macOS support for
edit_select(). Commit. - macOS support for
edit_copy(),edit_paste()andedit_cut(). Commit. - New demo on text selection and clipboard. Doc. Commit.
- macOS support for
textview_select(). Commit. - macOS support for
textview_copy(),textview_paste()andtextview_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.
- New library
OGL3D. - OpenGL context
<ogl3d/ogl3d.h>. - Documentation.
- Demo.
- New library
draw_r2df(),draw_r2dd(),Draw::r2d(). Commit.draw2d_preferred_monospace(). Commit.listbox_font(). Commit.ekFCELLin 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.txtfor 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=YESto disable the CRT debugger in Windows. Issue. Commit.
NAppGUI v1.4.2
Added
osapp_argc()andosapp_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().
- New public header
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 whenFALSEis returned. Commit.
Removed
guicontrol_enabled()andguicontrol_visible()because unsafe. Usecell_enabled(),cell_visible(). Commit.
Improved
gui_text_tproperties in private API. Commit.str_splits()adds a newadd_emptyparameter. Issue. Doc. Commit.
Build system
NAppGUI v1.4.1
Added
unicode_convers_nbytes_n(). Commit.popup_get_text(). Commit.modifiersfield inEvMouse. Commit.tagfield inEvMouse. Commit.listbox_OnDown(). Commit.- Overlay windows (flyout) Issue. Doc. Commit.
window_overlay().window_control_frame()andwindow_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.
modifiersfield inEvKeyissue. Issue. Commit.listbox_colorissue in macOS and GTK+3. Commit.- macOS version adapts to Light/Dark/Accents colors at runtime. Commit.
- Read/write memory streams
END_BITissue. Commit. - Missed unix implementation of
bfile_dir_work(). Commit. - macOS
comwin_open_file()issue with file types. Issue. Commit. - macOS
ekGUI_CURSOR_SIZENSbitmap Commit.
Build system
NAppGUI v1.4.0
Added
- String functions:
str_relpath(),str_crelpath()andstr_splits(). guicontrolbase object Doc.layout_control()andcell_control().- TableView freeze column Doc.
tableview_column_freeze(). - TableView row click event Doc.
tableview_OnRowClick(),EvTbRowandekGUI_EVENT_TBL_ROWCLICK. - TableView force row height Doc.
tableview_header_height()andtableview_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()andview_scroll_size(). - TableView multiline headers Doc.
'\n'intableview_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 positionEvText::len.edit_OnChange(): If event returnsFALSE, 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()andview_OnAcceptFocus(). - Non-cycle tabstops:
window_cycle_tabstop(). - Window hotkey support:
window_hotkey(),window_clear_hotkeys()Doc. - Window modal avoid hide when close:
ekWINDOW_MODAL_NOHIDEDoc. - 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()andbutton_get_height(). - Edit vertical padding:
edit_vpadding(). blib_getenv()andblib_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()andsplitview_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()andblib_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()andlayout_previous_tabstop().textview_scroll_down(). Use nowtextview_scroll_caret().date_DD_MM_YYYY_HH_MM_SS()anddate_YYYY_MM_DD_HH_MM_SS(). Use nowdate_format().date_month_en()anddate_month_es(). Use nowdate_format().
Build system
nrccompiler 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.cmakemodule 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().