Discussed and developed a proof of concept for the customizable toolbar.
Mentors provided me accounts for wiki and blog.
Reading and understanding the program flow of the lua ui scripts.
Set up account info, dev log and blog with the help of mentors.
09 May 2020
Added basic MainWindow class containing CadMdiChild, Layers, CliCommand, Toolbar and Select tools.
10 May 2020
Updated the toolbar class for basic initialization, attaching select tools.
11 May 2020
Shifted GUI related connect calls from lua code to MainWindow class, as well input trigger connections.
12 May 2020
Replaced luaInterface::qtConnect calls with actual Qt connect calls.
Moved command list from lua to CliCommand class, along with a few other changes.
Replaced menu luaConnect calls with temporary API function call.
13 May 2020
Toolbar manual button creation in lua replaced with temporary API function call.
Removal and refactoring of redundant lua code.
14 May 2020
Finished removal and refactoring of id related code since window id is not required anymore.
Added WindowManager class which will hold a list of window instances and have the new and open functions.
15 May 2020
Feedback from mentors regarding new entry point for lua scripts.
Moved UI button connect calls from their UI lua files to each of the tool's lua files, so that each operation can connect the button in it's initialization function.
Shifted save and saveAs slots from lua to C++.
16 May 2020
Removed init.lua as lua script execution start point.
Lua folders are now scanned for files and run, after which init function in each operation is called which adds and connects buttons/registers commands.
Removed all lua files in ui folder except for operations.lua
17 May 2020
Began work on automatic generation of operation buttons by using operation properties.
Added support for command line, menu buttons and toolbar buttons.
18 May 2020
Added command line list support, toolbar group on the basis of file location.
Added operations icon property support.
Shifted remaining global functions from operations.lua to C++.
Removed lua UI folder completely.
19 May 2020
Added support for method wise toolbar icons in operation properties.
20 May 2020
Attempted to make the unit tests run locally on my pc, ran into some issues with gtest,
21 May 2020
Added WindowManager unit tests, updated old unit tests to work with new changes.
Added MainWindow unit tests.
22 May 2020
Added few more MainWindow unit tests.
Refactored operations related code in luaInterface.
Created PR.
23 May 2020
Did not do anything related to the project.
24 May 2020
Began work on Menu part of the Lua GUI API.
Added Menu class.
25 May 2020
Added menu and menuitem class
Changed QMenu widgets to Menu class in ui file
Ran into some issues regarding replacing qaction widgets.
26 May 2020
Solved previous day's issues, replacement of qaction with menuitem works.
Added callbacks list and few more functions for menu and menuitem class.
27 May 2020
Added few more Menu API functions.
Added menu positioning and fixed bug in findMenu function.
28 May 2020
Added menu item positioning.
Added more function overloads for Menu API operations.
29 May 2020
Added support for menu inside menus.
30 May 2020
Added menu item unit tests.
Restricted menu items from having same label on the same level.
Attempted disconnection of lua function slot, ran into some issues.
31 May 2020
Spent some time debugging it, more weird issues. Decided to put named callbacks on hold and add unit tests first.
Added menu unit tests.
While adding unit tests, realized issue with updation of positions on removing menu.
Coding Period - I (June 1 - July 3)
01 June 2020
Fixed remove function issues.
Added more menu unit tests.
Added named callbacks and ability to delete callbacks.
CliCommand GUI API functions added.
02 June 2020
Added CliCommand API unit tests.
Started Layers GUI API
03 June 2020
Added Layers GUI API functions
Added few Layers API unit tests
04 June 2020
Added ToolbarButton class
Added ToolbarGroup class
05 June 2020
Updated and replaced toolbartab functions
Updated operation icon loading in luainterface
Added few more toolbar gui functions
06 June 2020
Updated and changed toolbar class functions.
Added remaining toolbar gui api functions.
07 June 2020
Attempted to solve issues with Qt and Visual Studio.
08 June 2020
Shifted button connect function to toolbargroup class
LuaQObject bug causing issues.
09 June 2020
Fixed luaqobject bug
Moved snap button initialization to after script loading to avoid issues.
10 June 2020
Add toolbar and toolbar tab unit tests.
Added toolbar group and toolbar button unittests.
Changed menu item callback connection to use signals and slots.
11 June 2020
Replaced static and dynamic casts with qobject casts, qt crashes have stopped.
Named callbacks and remove callback added to toolbar button.
Renamed some api functions to adhere to coding style.
12 June 2020
Added back luascript widget.
Enabled changing of number of group columns for toolbargroup.
13 June 2020
Fixed luascript bug.
Added OperationLoader class.
Callback calling is now done directly instead of using luaConnect.
Removed LuaQObject class and Qt related code in luainterface.
14 June 2020
Renamed qtbridge to guibridge.
Removed qt related code in guibridge.
15 June 2020
Began work on GUI Dialog.
Added dialog widget, InputGUI class.
Added TextGUI, ButtonGUI and ButtonGroupGUI class.