Skip to content

Commit 774931d

Browse files
committed
Release 0.5.1
* Updated code to match lltl library headers. * Better integration with system::follow_url() routine. * Added automatic style creation from XML schema. * Added simple language configuration support by the tk::Schema class. * Fixed allocation for invisible widgets inside the tk::Grid container. * Updated behaviour of TextDataSink to be more memory-effective. * Property 'size_constraints' renamed to 'constraints' for tk::Align and tk::Group widgets. * Added 'set_horizontal' and 'set_vertical' methods to the embedding property. * Fixed crash on empty tk::Grid container, added constraints() property to the tk::Grid widget. * Added parse() method to all enumeration properties. * Fixed knob behaviour which didn't trigger SLOT_CHANGE event when dragging knob's scale. * Added ipadding() property for internal padding of the tk::Group widget. * Fixed bugs reladed to SLOT_CHANGE notification delivery for tk::Switch widget. * Added drawing mode for the widget that allows to switch between different kinds of widget look. * Added basic background color inheritance support to widgets. * Rendering of graph widget has been fixed and enhanced with "border.flat" property. * Replaced text_border property for tk::Group widget with text_padding property. * Added heading property for tk::Group widget. * Replaced text_border property for tk::ComboGroup widget with text_padding property. * Added heading property for tk::ComboGroup widget. * Fixed missing builtin styles for tk::ComboGroup widget. * Added spin_spacing property to tk::ComboGroup widget. * Added 'balance_color', 'balance_color_custom', 'flat' and 'scale_marks' properties to the tk::Knob widget. * Added font scaling feature to the tk::Font property. * Added freetype2 library dependencies for UNIX-compatible operating systems. * Added possibility to specify custom fonts in the stylesheet data. * Added font loading support by the tk::Schema object. * Fixed bug in menu item allocation that could yield to ugly-looking menus. * Implemented proper UI schema loading at the runtime. * Added tk::Registry class for managing widgets. * Denied copy constructor usage for all widget classes. * Added tk::Bevel widget which allows to draw bevels/facets in the UI. * Added tk::Arrangement property which allows to arrange some element inside of another. * Indicator now supports modern-style drawing. * Added tk::MultiLabel widget for drawing vector glyphs. * Added tk::TextAdjust property and support of this property by several widgets. * Added support of hovers by the tk::Label widget. * Fixed bug with UIE_MOUSE_IN and UIE_MOUSE_OUT event delivery when entering/leaving window. * tk::Button now allows to use different colors for different states. * Removed obsolete tk::StyleInitializer class. * Fixed memory corruption in tk::Grid widget related to invalid cell pointers after reallocation of memory chunk. * Additional feature added to ComboGroup that allows to select the active visible widget. * Updated build system.
2 parents 684836a + a89540f commit 774931d

File tree

240 files changed

+13298
-3262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

240 files changed

+13298
-3262
lines changed

CHANGELOG

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,50 @@
22
* RECENT CHANGES
33
*******************************************************************************
44

5+
=== 0.5.1 ===
6+
* Updated code to match lltl library headers.
7+
* Better integration with system::follow_url() routine.
8+
* Added automatic style creation from XML schema.
9+
* Added simple language configuration support by the tk::Schema class.
10+
* Fixed allocation for invisible widgets inside the tk::Grid container.
11+
* Updated behaviour of TextDataSink to be more memory-effective.
12+
* Property 'size_constraints' renamed to 'constraints' for tk::Align and tk::Group widgets.
13+
* Added 'set_horizontal' and 'set_vertical' methods to the embedding property.
14+
* Fixed crash on empty tk::Grid container, added constraints() property to the tk::Grid widget.
15+
* Added parse() method to all enumeration properties.
16+
* Fixed knob behaviour which didn't trigger SLOT_CHANGE event when dragging knob's scale.
17+
* Added ipadding() property for internal padding of the tk::Group widget.
18+
* Fixed bugs reladed to SLOT_CHANGE notification delivery for tk::Switch widget.
19+
* Added drawing mode for the widget that allows to switch between different kinds of widget look.
20+
* Added basic background color inheritance support to widgets.
21+
* Rendering of graph widget has been fixed and enhanced with "border.flat" property.
22+
* Replaced text_border property for tk::Group widget with text_padding property.
23+
* Added heading property for tk::Group widget.
24+
* Replaced text_border property for tk::ComboGroup widget with text_padding property.
25+
* Added heading property for tk::ComboGroup widget.
26+
* Fixed missing builtin styles for tk::ComboGroup widget.
27+
* Added spin_spacing property to tk::ComboGroup widget.
28+
* Added 'balance_color', 'balance_color_custom', 'flat' and 'scale_marks' properties to the tk::Knob widget.
29+
* Added font scaling feature to the tk::Font property.
30+
* Added freetype2 library dependencies for UNIX-compatible operating systems.
31+
* Added possibility to specify custom fonts in the stylesheet data.
32+
* Added font loading support by the tk::Schema object.
33+
* Fixed bug in menu item allocation that could yield to ugly-looking menus.
34+
* Implemented proper UI schema loading at the runtime.
35+
* Added tk::Registry class for managing widgets.
36+
* Denied copy constructor usage for all widget classes.
37+
* Added tk::Bevel widget which allows to draw bevels/facets in the UI.
38+
* Added tk::Arrangement property which allows to arrange some element inside of another.
39+
* Indicator now supports modern-style drawing.
40+
* Added tk::MultiLabel widget for drawing vector glyphs.
41+
* Added tk::TextAdjust property and support of this property by several widgets.
42+
* Added support of hovers by the tk::Label widget.
43+
* Fixed bug with UIE_MOUSE_IN and UIE_MOUSE_OUT event delivery when entering/leaving window.
44+
* tk::Button now allows to use different colors for different states.
45+
* Removed obsolete tk::StyleInitializer class.
46+
* Fixed memory corruption in tk::Grid widget related to invalid cell pointers after reallocation of memory chunk.
47+
* Additional feature added to ComboGroup that allows to select the active visible widget.
48+
* Updated build system.
49+
550
=== 0.5.0 ===
651
* Initial release.

Makefile

Lines changed: 54 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
# along with lsp-tk-lib. If not, see <https://www.gnu.org/licenses/>.
2020
#
2121

22+
# Command-line flag to silence nested $(MAKE).
23+
ifneq ($(VERBOSE),1)
24+
.SILENT:
25+
endif
26+
2227
# Location
2328
BASEDIR := $(CURDIR)
2429
MODULES := $(BASEDIR)/modules
@@ -44,76 +49,76 @@ DISTSRC = $(DISTSRC_PATH)/$(ARTIFACT_NAME)
4449
.PHONY: all compile install uninstall depend clean
4550

4651
compile all install uninstall depend:
47-
@$(CHK_CONFIG)
48-
@$(MAKE) -s -C "$(BASEDIR)/src" $(@) CONFIG="$(CONFIG)" DESTDIR="$(DESTDIR)"
52+
$(CHK_CONFIG)
53+
$(MAKE) -C "$(BASEDIR)/src" $(@) VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" DESTDIR="$(DESTDIR)"
4954

5055
clean:
51-
@echo "Cleaning build directory $(BUILDDIR)"
52-
@-rm -rf $(BUILDDIR)
53-
@echo "Clean OK"
56+
echo "Cleaning build directory $(BUILDDIR)"
57+
-rm -rf $(BUILDDIR)
58+
echo "Clean OK"
5459

5560
# Module-related tasks
5661
.PHONY: fetch tree prune
5762
fetch:
58-
@$(CHK_CONFIG)
59-
@echo "Fetching desired source code dependencies"
60-
@$(MAKE) -s -f "make/modules.mk" $(@) BASEDIR="$(BASEDIR)" CONFIG="$(CONFIG)"
61-
@echo "Fetch OK"
63+
$(CHK_CONFIG)
64+
echo "Fetching desired source code dependencies"
65+
$(MAKE) -f "$(BASEDIR)/make/modules.mk" $(@) VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" CONFIG="$(CONFIG)"
66+
echo "Fetch OK"
6267

6368
tree:
64-
@echo "Fetching all possible source code dependencies"
65-
@$(MAKE) -s -f "make/modules.mk" $(@) BASEDIR="$(BASEDIR)" TREE="1"
66-
@echo "Fetch OK"
69+
echo "Fetching all possible source code dependencies"
70+
$(MAKE) -f "$(BASEDIR)/make/modules.mk" $(@) VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" TREE="1"
71+
echo "Fetch OK"
6772

6873
prune: clean
69-
@echo "Pruning the whole project tree"
70-
@$(MAKE) -s -f "make/modules.mk" prune BASEDIR="$(BASEDIR)" CONFIG="$(CONFIG)"
71-
@$(MAKE) -s -f "make/modules.mk" prune BASEDIR="$(BASEDIR)" TREE="1"
72-
@-rm -rf "$(CONFIG)"
73-
@echo "Prune OK"
74+
echo "Pruning the whole project tree"
75+
$(MAKE) -f "$(BASEDIR)/make/modules.mk" prune VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" CONFIG="$(CONFIG)"
76+
$(MAKE) -f "$(BASEDIR)/make/modules.mk" prune VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" TREE="1"
77+
-rm -rf "$(CONFIG)"
78+
echo "Prune OK"
7479

7580
# Configuration-related targets
7681
.PHONY: config help chkconfig
7782

7883
testconfig:
79-
@$(MAKE) -s -f "$(BASEDIR)/make/configure.mk" $(@) CONFIG="$(CONFIG)" TEST="1" $(MAKEFLAGS)
84+
$(MAKE) -f "$(BASEDIR)/make/configure.mk" $(@) VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" TEST="1" -$(MAKEFLAGS)
8085

8186
config:
82-
@$(MAKE) -s -f "$(BASEDIR)/make/configure.mk" $(@) CONFIG="$(CONFIG)" $(MAKEFLAGS)
87+
$(MAKE) -f "$(BASEDIR)/make/configure.mk" $(@) VERBOSE="$(VERBOSE)" CONFIG="$(CONFIG)" -$(MAKEFLAGS)
8388

8489
# Release-related targets
8590
.PHONY: distsrc
8691
distsrc:
87-
@echo "Building source code archive"
88-
@mkdir -p "$(DISTSRC)/modules"
89-
@$(MAKE) -s -f "make/modules.mk" tree BASEDIR="$(BASEDIR)" MODULES="$(DISTSRC)/modules" TREE="1"
90-
@cp -R $(BASEDIR)/include $(BASEDIR)/make $(BASEDIR)/src "$(DISTSRC)/"
91-
@cp $(BASEDIR)/CHANGELOG $(BASEDIR)/COPYING* $(BASEDIR)/Makefile $(BASEDIR)/*.mk "$(DISTSRC)/"
92-
@find "$(DISTSRC)" -iname '.git' | xargs -exec rm -rf {}
93-
@find "$(DISTSRC)" -iname '.gitignore' | xargs -exec rm -rf {}
94-
@tar -C $(DISTSRC_PATH) -czf "$(BUILDDIR)/$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz" "$(ARTIFACT_NAME)"
95-
@echo "Created archive: $(BUILDDIR)/$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz"
96-
@ln -sf "$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz" "$(BUILDDIR)/$(ARTIFACT_NAME)-src.tar.gz"
97-
@echo "Created symlink: $(BUILDDIR)/$(ARTIFACT_NAME)-src.tar.gz"
98-
@rm -rf $(DISTSRC_PATH)
99-
@echo "Build OK"
92+
echo "Building source code archive"
93+
mkdir -p "$(DISTSRC)/modules"
94+
$(MAKE) -f "$(BASEDIR)/make/modules.mk" tree VERBOSE="$(VERBOSE)" BASEDIR="$(BASEDIR)" MODULES="$(DISTSRC)/modules" TREE="1"
95+
cp -R $(BASEDIR)/include $(BASEDIR)/make $(BASEDIR)/src "$(DISTSRC)/"
96+
cp $(BASEDIR)/CHANGELOG $(BASEDIR)/COPYING* $(BASEDIR)/Makefile $(BASEDIR)/*.mk "$(DISTSRC)/"
97+
find "$(DISTSRC)" -iname '.git' | xargs -exec rm -rf {}
98+
find "$(DISTSRC)" -iname '.gitignore' | xargs -exec rm -rf {}
99+
tar -C $(DISTSRC_PATH) -czf "$(BUILDDIR)/$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz" "$(ARTIFACT_NAME)"
100+
echo "Created archive: $(BUILDDIR)/$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz"
101+
ln -sf "$(ARTIFACT_NAME)-$(ARTIFACT_VERSION)-src.tar.gz" "$(BUILDDIR)/$(ARTIFACT_NAME)-src.tar.gz"
102+
echo "Created symlink: $(BUILDDIR)/$(ARTIFACT_NAME)-src.tar.gz"
103+
rm -rf $(DISTSRC_PATH)
104+
echo "Build OK"
100105

101106
# Help
102107
help:
103-
@echo "Available targets:"
104-
@echo " all Build all binaries"
105-
@echo " clean Clean all build files and configuration file"
106-
@echo " config Configure build"
107-
@echo " depend Update build dependencies for current project"
108-
@echo " distsrc Make tarball with source code for packagers"
109-
@echo " fetch Fetch all desired source code dependencies from git"
110-
@echo " help Print this help message"
111-
@echo " info Output build configuration"
112-
@echo " install Install all binaries into the system"
113-
@echo " prune Cleanup build and all fetched dependencies from git"
114-
@echo " tree Fetch all possible source code dependencies from git"
115-
@echo " to make source code portable between machines"
116-
@echo " uninstall Uninstall binaries"
117-
@echo ""
118-
@$(MAKE) -s -f "$(BASEDIR)/make/configure.mk" $(@)
119-
@echo ""
108+
echo "Available targets:"
109+
echo " all Build all binaries"
110+
echo " clean Clean all build files and configuration file"
111+
echo " config Configure build"
112+
echo " depend Update build dependencies for current project"
113+
echo " distsrc Make tarball with source code for packagers"
114+
echo " fetch Fetch all desired source code dependencies from git"
115+
echo " help Print this help message"
116+
echo " info Output build configuration"
117+
echo " install Install all binaries into the system"
118+
echo " prune Cleanup build and all fetched dependencies from git"
119+
echo " tree Fetch all possible source code dependencies from git"
120+
echo " to make source code portable between machines"
121+
echo " uninstall Uninstall binaries"
122+
echo ""
123+
$(MAKE) -f "$(BASEDIR)/make/configure.mk" $(@) VERBOSE="$(VERBOSE)"
124+
echo ""

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ The full list of provided widgets:
3636
* Box - container for packaging widgets in a single horizontal row or vertical column.
3737
* Grid - container for packaging widgets into table.
3838
* Group - container for surrounding widgets into a distinguishable group.
39+
* MultiLabel - widget that allows to implement overlay of multiple labels on the same area.
3940
* ScrollArea - container that allows to package widget into limited rectangular space.
4041
* Window - window widget.
4142
* Dialogs:
@@ -50,6 +51,7 @@ The full list of provided widgets:
5051
* GraphMesh - widget for drawing meshes on the graph widget.
5152
* GraphOrigin - widget for defining origins within the graph widget.
5253
* Simple widgets:
54+
* Bevel - simple widget that allows to draw bevels/facets in the UI.
5355
* Button - simple button which can operate in different modes.
5456
* CheckBox - squared single on/off toggle.
5557
* Edit - single line text edit widget.

dependencies.mk

Lines changed: 63 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,77 +19,97 @@
1919
#
2020

2121
# Variables that describe dependencies
22-
LSP_COMMON_LIB_VERSION := 1.0.10
22+
LSP_COMMON_LIB_VERSION := 1.0.14
2323
LSP_COMMON_LIB_NAME := lsp-common-lib
2424
LSP_COMMON_LIB_TYPE := src
25-
LSP_COMMON_LIB_URL := https://github.com/sadko4u/$(LSP_COMMON_LIB_NAME).git
25+
LSP_COMMON_LIB_URL := git@github.com:lsp-plugins/$(LSP_COMMON_LIB_NAME).git
2626

27-
LSP_LLTL_LIB_VERSION := 0.5.4
27+
LSP_LLTL_LIB_VERSION := 0.5.7
2828
LSP_LLTL_LIB_NAME := lsp-lltl-lib
2929
LSP_LLTL_LIB_TYPE := src
30-
LSP_LLTL_LIB_URL := https://github.com/sadko4u/$(LSP_LLTL_LIB_NAME).git
30+
LSP_LLTL_LIB_URL := git@github.com:lsp-plugins/$(LSP_LLTL_LIB_NAME).git
3131

32-
LSP_RUNTIME_LIB_VERSION := 0.5.5
32+
LSP_RUNTIME_LIB_VERSION := 0.5.10
3333
LSP_RUNTIME_LIB_NAME := lsp-runtime-lib
3434
LSP_RUNTIME_LIB_TYPE := src
35-
LSP_RUNTIME_LIB_URL := https://github.com/sadko4u/$(LSP_RUNTIME_LIB_NAME).git
35+
LSP_RUNTIME_LIB_URL := git@github.com:lsp-plugins/$(LSP_RUNTIME_LIB_NAME).git
3636

37-
LSP_R3D_IFACE_VERSION := 0.5.1
37+
LSP_R3D_IFACE_VERSION := 0.5.2
3838
LSP_R3D_IFACE_NAME := lsp-r3d-iface
3939
LSP_R3D_IFACE_TYPE := src
40-
LSP_R3D_IFACE_URL := https://github.com/sadko4u/$(LSP_R3D_IFACE_NAME).git
40+
LSP_R3D_IFACE_URL := git@github.com:lsp-plugins/$(LSP_R3D_IFACE_NAME).git
4141

42-
LSP_R3D_BASE_LIB_VERSION := 0.5.4
42+
LSP_R3D_BASE_LIB_VERSION := 0.5.5
4343
LSP_R3D_BASE_LIB_NAME := lsp-r3d-base-lib
4444
LSP_R3D_BASE_LIB_TYPE := src
45-
LSP_R3D_BASE_LIB_URL := https://github.com/sadko4u/$(LSP_R3D_BASE_LIB_NAME).git
45+
LSP_R3D_BASE_LIB_URL := git@github.com:lsp-plugins/$(LSP_R3D_BASE_LIB_NAME).git
4646

47-
LSP_R3D_GLX_LIB_VERSION := 0.5.3
47+
LSP_R3D_GLX_LIB_VERSION := 0.5.4
4848
LSP_R3D_GLX_LIB_NAME := lsp-r3d-glx-lib
4949
LSP_R3D_GLX_LIB_TYPE := src
50-
LSP_R3D_GLX_LIB_URL := https://github.com/sadko4u/$(LSP_R3D_GLX_LIB_NAME).git
50+
LSP_R3D_GLX_LIB_URL := git@github.com:lsp-plugins/$(LSP_R3D_GLX_LIB_NAME).git
5151

52-
LSP_WS_LIB_VERSION := 0.5.3
52+
LSP_WS_LIB_VERSION := 0.5.4
5353
LSP_WS_LIB_NAME := lsp-ws-lib
5454
LSP_WS_LIB_TYPE := src
55-
LSP_WS_LIB_URL := https://github.com/sadko4u/$(LSP_WS_LIB_NAME).git
55+
LSP_WS_LIB_URL := git@github.com:lsp-plugins/$(LSP_WS_LIB_NAME).git
5656

57-
LSP_DSP_LIB_VERSION := 0.5.10
57+
LSP_DSP_LIB_VERSION := 0.5.14
5858
LSP_DSP_LIB_NAME := lsp-dsp-lib
5959
LSP_DSP_LIB_TYPE := src
60-
LSP_DSP_LIB_URL := https://github.com/sadko4u/$(LSP_DSP_LIB_NAME).git
60+
LSP_DSP_LIB_URL := git@github.com:lsp-plugins/$(LSP_DSP_LIB_NAME).git
6161

62-
LSP_TEST_FW_VERSION := 1.0.6
62+
LSP_TEST_FW_VERSION := 1.0.8
6363
LSP_TEST_FW_NAME := lsp-test-fw
6464
LSP_TEST_FW_TYPE := src
65-
LSP_TEST_FW_URL := https://github.com/sadko4u/$(LSP_TEST_FW_NAME).git
65+
LSP_TEST_FW_URL := [email protected]:lsp-plugins/$(LSP_TEST_FW_NAME).git
66+
67+
LIBPTHREAD_VERSION := system
68+
LIBPTHREAD_NAME := libpthread
69+
LIBPTHREAD_TYPE := opt
70+
LIBPTHREAD_LDFLAGS := -lpthread
71+
72+
LIBDL_VERSION := system
73+
LIBDL_NAME := libdl
74+
LIBDL_TYPE := opt
75+
LIBDL_LDFLAGS := -ldl
76+
77+
LIBICONV_VERSION := system
78+
LIBICONV_NAME := libiconv
79+
LIBICONV_TYPE := opt
80+
LIBICONV_LDFLAGS := -liconv
81+
82+
LIBSHLWAPI_VERSION := system
83+
LIBSHLWAPI_NAME := libshlwapi
84+
LIBSHLWAPI_TYPE := opt
85+
LIBSHLWAPI_LDFLAGS := -lshlwapi
86+
87+
LIBWINMM_VERSION := system
88+
LIBWINMM_NAME := libwinmm
89+
LIBWINMM_TYPE := opt
90+
LIBWINMM_LDFLAGS := -lwinmm
91+
92+
LIBMSACM_VERSION := system
93+
LIBMSACM_NAME := libmsacm
94+
LIBMSACM_TYPE := opt
95+
LIBMSACM_LDFLAGS := -lmsacm32
6696

6797
LIBSNDFILE_VERSION := system
6898
LIBSNDFILE_NAME := sndfile
6999
LIBSNDFILE_TYPE := pkg
70100

71-
XLIB_VERSION := system
72-
XLIB_NAME := x11
73-
XLIB_TYPE := pkg
74-
75-
CAIRO_VERSION := system
76-
CAIRO_NAME := cairo
77-
CAIRO_TYPE := pkg
78-
79-
OPENGL_VERSION := system
80-
OPENGL_NAME := gl
81-
OPENGL_TYPE := pkg
82-
83-
ifeq ($(PLATFORM),Windows)
84-
STDLIB_VERSION := system
85-
STDLIB_TYPE := opt
86-
STDLIB_LDFLAGS := -lpthread -lshlwapi -lwinmm -lmsacm32
87-
else ifeq ($(PLATFORM),BSD)
88-
STDLIB_VERSION := system
89-
STDLIB_TYPE := opt
90-
STDLIB_LDFLAGS := -lpthread -ldl -liconv
91-
else
92-
STDLIB_VERSION := system
93-
STDLIB_TYPE := opt
94-
STDLIB_LDFLAGS := -lpthread -ldl
95-
endif
101+
LIBX11_VERSION := system
102+
LIBX11_NAME := x11
103+
LIBX11_TYPE := pkg
104+
105+
LIBGL_VERSION := system
106+
LIBGL_NAME := gl
107+
LIBGL_TYPE := pkg
108+
109+
LIBCAIRO_VERSION := system
110+
LIBCAIRO_NAME := cairo
111+
LIBCAIRO_TYPE := pkg
112+
113+
LIBFREETYPE_VERSION := system
114+
LIBFREETYPE_NAME := freetype2
115+
LIBFREETYPE_TYPE := pkg

0 commit comments

Comments
 (0)