Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library gtk not mentioned in readme #7

Closed
thenewkgb opened this issue Aug 15, 2023 · 1 comment
Closed

Library gtk not mentioned in readme #7

thenewkgb opened this issue Aug 15, 2023 · 1 comment
Assignees
Labels
doc Improvements or additions to documentation
Milestone

Comments

@thenewkgb
Copy link

I have an app Cxxdroid for Android and I'm able to include sdl2, sdl_image and sdl_ttf libraries plus libxml2. These are the dependencies in the readme and I thought I could use your code. I'm not brilliant at C++, but copied the whole libxml2gui folder including CMakeLists, but got an error "gtk.h not found". I didn't see any mention of gtk? I think you've helped me possibly prepare for UI control and I'd like to try out your code :)

@adamajammary
Copy link
Owner

Hi @thenewkgb

I have added some extra details to README in the release-1 branch.

My CMakeLists.txt currently only supports Windows, MacOS and Linux.

The include headers are platform dependent:

Platform Header Preprocessor
Linux gtk/gtk.h _linux
MacoOS AppKit/AppKit.h _macosx
Windows shobjidl_core.h _windows

The OS variable in CMakeLists.txt decides which platform to build for.

if (APPLE)
    set(OS "_macosx")
elseif (UNIX)
    set(OS "_linux")
elseif (WIN32)
    set(OS "_windows")
endif()

The header files are included based on which preprocessor was set in CMakeLists.txt.

Your system was probably detected as UNIX and _linux was set.

I also updated the DLL export to exclude the LSG_OpenFile and LSG_SaveFile methods in commit fe0d694, as these are the only methods that need gtk.h for the file dialogs.

I may plan to to update with support for Android and iOS in the future, but for now I just want to get it working on Desktop platforms first.

I have reserved the _android and _ios preprocessor definitions in the code, so if you want to play around with getting cmake building for Android, you can read more on cross-compiling-for-android.

Sorry for the lack of Android support for now.

@adamajammary adamajammary self-assigned this Aug 15, 2023
@adamajammary adamajammary added the doc Improvements or additions to documentation label Aug 15, 2023
@adamajammary adamajammary added this to the Release 1 milestone Aug 15, 2023
adamajammary added a commit that referenced this issue Sep 16, 2023
* add: public API endpoints for getting component position and size
* improve: menu selection/toggling
* update: readme
* update: version
* improve: menu selection/toggling
* add: public API endpoints for showing row borders and getting multiple files/folders
* fix: conflicting typedef names
* add: public API endpoints LSG_GetText, LSG_SetMenuItemValue, LSG_SetSliderValue and LSG_SetVisible
* add: event triggers for click, double-click and right-click on panels
* improve: dynamic font size handling
* improve: menu labels
* improve: make sure menu is rendered last (above all other UI)
* add: public API endpoint for getting slider value
* add: public API endpoints LSG_RemoveMenuItem and LSG_SaveFile
* add: public API endpoints LSG_GetSelectedRow and LSG_SelectRow
* add: public API endpoints LSG_GetSortColumn, LSG_GetSortOrder, LSG_GetScrollHorizontal, LSG_GetScrollVertical, LSG_IsVisible, LSG_ScrollHorizontal and LSG:ScrollVertical
* add: pagination for lists and tables
* add: public API endpoints LSG_GetColorTheme, LSG_GetPage and LSG_SetPage
* fix: SetPage only calls list component, needs to be separate calls to list and table.
* improve: pagination label
* fix: LSG_GetTableRow does not include header
* add: public API endpoint to scroll to the bottom (#1)
* add: public API endpoint to get the last page (#2)
* add: public API endpoint to select a row by offset (#3)
* improve: increase max rows per page (#4)
* fix: scroll by offset after changing page (#6)
* Library gtk not mentioned in readme (#7)
* add: event notifications for component scrolling and keyboard interaction (#8)
* fix: reset page navigation when setting list/table content (#9)
* fix: make sure menu is properly closed when selecting an item (#10)
* improve: disable child components when disabling a parent (#11)
* improve: component highlight on hover (#15)
* improve: sub-menu navigation (#16)
* add: public API endpoint LSG_GetBackgroundColor (#17)
* add: public API endpoint to select a button (#18)
* fix: scroll direction is oppposite on macOS (#19)
* improve: support for cross-platform build (#20)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doc Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants