https://brlcad.org/w/api.php?action=feedcontributions&user=RomitKumar&feedformat=atomBRL-CAD - User contributions [en]2024-03-29T06:45:06ZUser contributionsMediaWiki 1.32.2https://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11469User:RomitKumar/GSoC19/logs2019-08-24T23:45:12Z<p>RomitKumar: /* Week 13 (August 19 - August 25) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.<br />
=== August 6 ===<br />
Studying the codebase and looking for possible approach to implement hyperlink.<br />
=== August 7 ===<br />
Going through the QScintilla documentation looking for possible clues.<br />
<br />
== Week 12 (August 12 - August 18) ==<br />
=== August 12 ===<br />
Discussed with mentor about a possible idea to implement hyperlinks. Planning to pass on line and column number information of use's file name in FileModule::registerUse.<br />
=== August 13 ===<br />
Going through lexer.l and parser.y files, trying to understand their working and finding a way to pass line and column number data of use'd file.<br />
=== August 14 ===<br />
Found LOC macro in parser.y. It appeared to be promising. However, it is giving strange results. Besides the location information changes on different preview even though there is no change in file. The code showing this behaviour is [https://github.com/RomitKumar/openscad/tree/temp here]. Checking if I have done something wrong.<br />
=== August 15 ===<br />
Discussed with mentor and decided to skip the location information part of use'd file, assuming it provides correct data, and implement the remaining hyperlink part.<br />
=== August 16 ===<br />
Reading about the implementation of hotspot to achieve hyperlink. It seems that the ScadLexer should be a sub-class of QsciLexerCustom, if we want hotspot links, however that is not the case. Decided to drop hotspot for hyperlink.<br />
=== August 17 ===<br />
Reading about Indicators to implement hyperlink.<br />
=== August 18 ===<br />
Working on code to implement hyperlink feature via Indicators.<br />
<br />
== Week 13 (August 19 - August 25) ==<br />
=== August 19 ===<br />
Completed the code for hyperlink feature. Made pr [https://github.com/openscad/openscad/pull/3045 #3045]. Now the part left is regarding correct implementation of character location of use'd files. This feature also needs to be extended to include'd files.<br />
=== August 20 ===<br />
Discussed with mentor about possible solution for the erroneous behavior of Parameter Widget.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11458User:RomitKumar/GSoC19/logs2019-08-19T18:19:35Z<p>RomitKumar: /* Week 12 (August 12 - August 19) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.<br />
=== August 6 ===<br />
Studying the codebase and looking for possible approach to implement hyperlink.<br />
=== August 7 ===<br />
Going through the QScintilla documentation looking for possible clues.<br />
<br />
== Week 12 (August 12 - August 18) ==<br />
=== August 12 ===<br />
Discussed with mentor about a possible idea to implement hyperlinks. Planning to pass on line and column number information of use's file name in FileModule::registerUse.<br />
=== August 13 ===<br />
Going through lexer.l and parser.y files, trying to understand their working and finding a way to pass line and column number data of use'd file.<br />
=== August 14 ===<br />
Found LOC macro in parser.y. It appeared to be promising. However, it is giving strange results. Besides the location information changes on different preview even though there is no change in file. The code showing this behaviour is [https://github.com/RomitKumar/openscad/tree/temp here]. Checking if I have done something wrong.<br />
=== August 15 ===<br />
Discussed with mentor and decided to skip the location information part of use'd file, assuming it provides correct data, and implement the remaining hyperlink part.<br />
=== August 16 ===<br />
Reading about the implementation of hotspot to achieve hyperlink. It seems that the ScadLexer should be a sub-class of QsciLexerCustom, if we want hotspot links, however that is not the case. Decided to drop hotspot for hyperlink.<br />
=== August 17 ===<br />
Reading about Indicators to implement hyperlink.<br />
=== August 18 ===<br />
Working on code to implement hyperlink feature via Indicators.<br />
<br />
== Week 13 (August 19 - August 25) ==<br />
=== August 19 ===<br />
Completed the code for hyperlink feature. Made pr [https://github.com/openscad/openscad/pull/3045 #3045]. Now the part left is regarding correct implementaion of character location of use'd files. This feature also needs to be extended to include'd files.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11457User:RomitKumar/GSoC19/logs2019-08-19T18:17:33Z<p>RomitKumar: /* Week 12 (August 12 - August 19) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.<br />
=== August 6 ===<br />
Studying the codebase and looking for possible approach to implement hyperlink.<br />
=== August 7 ===<br />
Going through the QScintilla documentation looking for possible clues.<br />
<br />
== Week 12 (August 12 - August 19) ==<br />
=== August 12 ===<br />
Discussed with mentor about a possible idea to implement hyperlinks. Planning to pass on line and column number information of use's file name in FileModule::registerUse.<br />
=== August 13 ===<br />
Going through lexer.l and parser.y files, trying to understand their working and finding a way to pass line and column number data of use'd file.<br />
=== August 14 ===<br />
Found LOC macro in parser.y. It appeared to be promising. However, it is giving strange results. Besides the location information changes on different preview even though there is no change in file. The code showing this behaviour is [https://github.com/RomitKumar/openscad/tree/temp here]. Checking if I have done something wrong.<br />
=== August 15 ===<br />
Discussed with mentor and decided to skip the location information part of use'd file, assuming it provides correct data, and implement the remaining hyperlink part.<br />
=== August 16 ===<br />
Reading about the implementation of hotspot to achieve hyperlink. It seems that the ScadLexer should be a sub-class of QsciLexerCustom, if we want hotspot links, however that is not the case. Decided to drop hotspot for hyperlink.<br />
=== August 17 ===<br />
Reading about Indicators to implement hyperlink.<br />
=== August 18 ===<br />
Working on code to implement hyperlink feature via Indicators.<br />
=== August 19 ===<br />
Completed the code for hyperlink feature. Made pr [https://github.com/openscad/openscad/pull/3045 #3045]. Now the part left is regarding correct implementaion of character location of use'd files. This feature also needs to be extended to include'd files.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11453User:RomitKumar/GSoC19/logs2019-08-15T13:27:47Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.<br />
=== August 6 ===<br />
Studying the codebase and looking for possible approach to implement hyperlink.<br />
=== August 7 ===<br />
Going through the QScintilla documentation looking for possible clues.<br />
<br />
== Week 12 (August 12 - August 19) ==<br />
=== August 12 ===<br />
Discussed with mentor about a possible idea to implement hyperlinks. Planning to pass on line and column number information of use's file name in FileModule::registerUse.<br />
=== August 13 ===<br />
Going through lexer.l and parser.y files, trying to understand their working and finding a way to pass line and column number data of use'd file.<br />
=== August 14 ===<br />
Found LOC macro in parser.y. It appeared to be promising. However, it is giving strange results. Besides the location information changes on different preview even though there is no change in file. The code showing this behaviour is [https://github.com/RomitKumar/openscad/tree/temp here]. Checking if I have done something wrong.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11450User:RomitKumar/GSoC19/logs2019-08-12T07:16:40Z<p>RomitKumar: /* Week 11 (August 5 - August 11) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.<br />
=== August 6 ===<br />
Studying the codebase and looking for possible approach to implement hyperlink.<br />
=== August 7 ===<br />
Going through the QScintilla documentation looking for possible clues.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11443User:RomitKumar/GSoC19/logs2019-08-04T20:45:22Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.<br />
<br />
== Week 11 (August 5 - August 11) ==<br />
=== August 5 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3029 #3029] correcting file name shown in export dialog box.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11442User:RomitKumar/GSoC19/logs2019-08-04T14:01:23Z<p>RomitKumar: /* Week 10 (July 29 - August 4) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box<br />
=== August 1 ===<br />
Discussed with mentor about hotspot feature of use'd/include'd files<br />
=== August 2 ===<br />
Going through the QScintilla documentation, trying to find a way to implement hotspot feature<br />
=== August 3 ===<br />
Still going through the documentation. Realized that this task can be achieved by indicator. After discussion, decided to stick to hotspot<br />
=== August 4 ===<br />
Found a bug in reading of Preferences settings. Made pr [https://github.com/openscad/openscad/pull/3028 #3028] removing this bug. Discussed with mentor regarding hotspot feature, and decided to look into parser for it. A bug was reported in pre-filled file name in export dialog box.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11431User:RomitKumar/GSoC19/logs2019-07-31T18:18:26Z<p>RomitKumar: /* Week 9 (July 22 - July 28) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.<br />
=== July 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/92eaaae0655dfb6297da5f630fb77f276ec02164 92eaaae] improving handling of file drops, commit [https://github.com/openscad/openscad/pull/2955/commits/a3fe6d228e326f7c0707371eed44f4abcf802e5c a3fe6d2] enabling opening of multiple file from open dialog box and commit [https://github.com/openscad/openscad/pull/2955/commits/94eac673e9c33bfd090573b6a0794b9ecb52d84c 94eac67] preventing opening of same file in different tab in pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== July 28 ===<br />
Going through the code to analyze the possibility of extending error handling and allowing switch to tab / opening tab with error location<br />
<br />
== Week 10 (July 29 - August 4) ==<br />
=== July 29 ===<br />
Continuing reading code base for extending error handling. Discussed with mentor about calltip format<br />
=== July 30 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/464ac3c867ed344ab54af55f57df5736388f9f03 464ac3c] in pr [https://github.com/openscad/openscad/pull/2975 #2975] improving calltip format<br />
=== July 31 ===<br />
Made pr [https://github.com/openscad/openscad/pull/3022 #3022] adding never option in reload confirmation dialog box</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11426User:RomitKumar/GSoC19/logs2019-07-26T20:12:13Z<p>RomitKumar: /* July 26 */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/disable autocomplete and character threshold.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11425User:RomitKumar/GSoC19/logs2019-07-26T20:11:50Z<p>RomitKumar: /* Week 9 (July 22 - July 28) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.<br />
=== July 26 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d6a2eec860833270667f2341512159bec46f3274 d6a2eec] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding settings in Preferences to enable/diable autocomplete and character threshold.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11418User:RomitKumar/GSoC19/logs2019-07-25T00:54:03Z<p>RomitKumar: /* July 25 */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] updating the calltip format for some keywords.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11417User:RomitKumar/GSoC19/logs2019-07-25T00:52:55Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.<br />
<br />
== Week 8 (July 15 - July 21) ==<br />
=== July 19 ===<br />
Discussed with mentor about overall feedback of work done till now. Get to know about feedback message on multi-tab regarding multi-tab.<br />
=== July 20 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/87a58ca5c9b5f4798e92be8e6bc11228eea364b3 87a58ca] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing templates being read from json file. Discussed about possible improvements in template feature and calltip format. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/606f743232dd97914955b8b4945f866119428b75 606f743] in pr [https://github.com/openscad/openscad/pull/2955 #2955] initializing tabCount variable.<br />
=== July 21 ===<br />
Working on improvements of template feature discussed.<br />
<br />
== Week 9 (July 22 - July 28) ==<br />
=== July 22 ===<br />
Discussed with mentor about possible placeholder of cursor in templates<br />
=== July 23 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a378b236a1bca112dbcf216be1ac648918bb6c88 a378b23] and [https://github.com/openscad/openscad/pull/2975/commits/92c8b2e0ffe8c70eb3595fe2cc7bc2e2c840d5e9 92c8b2e] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing improvements in template feature as discussed with mentor.<br />
=== July 24 ===<br />
Working on deciding a calltip format for auto-completion feature<br />
=== July 25 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/b280d9e7103e3e10787e9ee16c857fa5132bcf06 b280d9e] updating the calltip format for some keywords.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11383User:RomitKumar/GSoC19/logs2019-07-14T13:54:04Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.<br />
<br />
== Week 7 (July 8 - July 14) ==<br />
=== July 13 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/12c605f2902a3013fef91d6661d0542093d7547a 12c605f] in pr [https://github.com/openscad/openscad/pull/2955 #2955] correcting implementation of opening of files in empty editor tab. Also pushed commit [https://github.com/openscad/openscad/pull/2955/commits/30085ff06972de21da09753feecd50472d39950c 30085ff] so that files with & are shown correctly.<br />
=== July 14 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/a99d689ab9315b0559d5a10e9a315e934bf9abb1 a99d689] in pr [https://github.com/openscad/openscad/pull/2955 #2955] resolving merge conflict caused due to merging of pr [https://github.com/openscad/openscad/pull/2989 #2989] in master branch.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11372User:RomitKumar/GSoC19/logs2019-07-08T17:44:03Z<p>RomitKumar: /* Week 6 (July 1 - July 7) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.<br />
=== July 7 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/65676bf72d721183c509ddb85c45cdd947a5d3e1 65676bf] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding remaining non-registered keywords in auto-complete list.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11370User:RomitKumar/GSoC19/logs2019-07-07T08:28:03Z<p>RomitKumar: /* Week 6 (July 1 - July 7) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.<br />
=== July 6 ===<br />
Pushed commits [https://github.com/openscad/openscad/pull/2975/commits/6836128ede8f072399483286d14d5c55b3d18452 6836128] and [https://github.com/openscad/openscad/pull/2975/commits/0720ea124f5a5eed93ac4f1c482ef4ef0f29f71d 0720ea1] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto completion for all keywords.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11366User:RomitKumar/GSoC19/logs2019-07-05T19:50:10Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.<br />
=== July 2 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/d9246dd06047f2a90b8e599ffa2c1068828fd2ba d9246dd] in pr [https://github.com/openscad/openscad/pull/2975 #2975] modifying the structure of Keyword class. Discussed with mentor about final structure for implementation of keyword auto completion.<br />
=== July 3 ===<br />
Working on implementation of mentor suggested approach.<br />
=== July 4 ===<br />
Applying the approach for primitives keywords.<br />
=== July 5 ===<br />
Completing the primitive keyword autocompletion.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11357User:RomitKumar/GSoC19/logs2019-07-01T23:12:50Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 30) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.<br />
=== June 29 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/a3e8950788e79cf2293293cecdc2a6989e12460c a3e8950] and [https://github.com/openscad/openscad/pull/2975/commits/d1dc26ffe48b6c6ed17de8a651de1e008e3bd658 d1dc26f] in pr [https://github.com/openscad/openscad/pull/2975 #2975] adding other keywords in keyword list. Discussed with mentor regarding html formatting of calltips.<br />
=== June 30 ===<br />
Working on html formatting of calltips.<br />
<br />
== Week 6 (July 1 - July 7) ==<br />
=== July 1 ===<br />
Made a separate Keyword class for storing information about keywords. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/1eefb4a762185eba6b9adc297f893c49cf0328b4 1eefb4a] in pr [https://github.com/openscad/openscad/pull/2975 #2975]. Checked about possibilty of html formatted string for calltips. It seems that QScintilla does not support formatting of strings in html form.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11349User:RomitKumar/GSoC19/logs2019-06-28T14:45:42Z<p>RomitKumar: /* Week 5 (June 24 - June 28) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 28) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.<br />
=== June 26 ===<br />
Discussed with mentor about implementation details for auto-completion keyword list in Builtin class.<br />
=== June 27 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f 77dfcc5] in pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing registering of keywords in Builtin class.<br />
=== June 28 ===<br />
Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/dc1146bcb41a3c466dcee836491dd546eee4653f dc1146b] in pr [https://github.com/openscad/openscad/pull/2975 #2975] replacing qt structures with std structures in core classes.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11336User:RomitKumar/GSoC19/logs2019-06-26T08:36:41Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 4 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 5 (June 24 - June 28) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11335User:RomitKumar/GSoC19/logs2019-06-26T08:33:44Z<p>RomitKumar: /* Week 3 (June 17 - June 23) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 3 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Posted in mailing group inviting users for testing of multi-tab feature. Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.<br />
=== June 21 ===<br />
Updated implementation of tab tool bar such that it is hidden when a single tab is present. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/dff9b9be7afafdf17b0fcc874cc0460076918362 dff9b9b] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 22 ===<br />
Looking at web resources available to understand auto-completion in qscintilla.<br />
=== June 23 ===<br />
Made a new pr [https://github.com/openscad/openscad/pull/2975 #2975] implementing auto-completion of openscad keywords. The commit is [https://github.com/openscad/openscad/pull/2975/commits/bdc8e10ef54d78e8702f72d10a01872c1a36240b bdc8e10]. Also pushed commit [https://github.com/openscad/openscad/pull/2975/commits/7cda02a796664e45df2abc8af46c8c994b8a7e5e 7cda02a] to enable qscintilla in travis check. Discussed with mentor about various options of providing keyword list for auto-completion.<br />
<br />
== Week 4 (June 24 - June 28) ==<br />
=== June 24 ===<br />
Implemented ctrl+insert shortcut to display template list. Pushed commit [https://github.com/openscad/openscad/pull/2975/commits/10bfc3f8278278b6efd67870c9f55c9ee629ba63 10bfc3f] in pr [https://github.com/openscad/openscad/pull/2975 #2975]<br />
=== June 25 ===<br />
Checking the plausibility of making keyword list for auto-completion at Builtin class.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11319User:RomitKumar/GSoC19/logs2019-06-20T17:40:03Z<p>RomitKumar: /* Week 3 (June 17 - June 23) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 3 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 18 ===<br />
Testing multi tab implementation<br />
=== June 19 === <br />
Continuation of testing of multi-tab implementation. Looking and exploring various methods for auto completion feature.<br />
=== June 20 ===<br />
Going through the codebase at pr [https://github.com/openscad/openscad/pull/2889 #2889] to understand details of auto completion feature.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11306User:RomitKumar/GSoC19/logs2019-06-17T19:01:03Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
<br />
== Week 3 (June 17 - June 23) ==<br />
=== June 17 ===<br />
Shifted Tab Header implementation from dock widget to toolbar. This toolbar clings to editor dock widget when it is undocked. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/fd93e57691f272c8f5322eb9d5c8e057b2e49e63 fd93e57], [https://github.com/openscad/openscad/pull/2955/commits/a50fd610d0d63f4e11e2adf9bb53a2f8939c1591 a50fd61] and [https://github.com/openscad/openscad/pull/2955/commits/689292c2c53678cf106cb442b0a09315ea204ec1 689292c] in pr [https://github.com/openscad/openscad/issues/2955 #2955].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11301User:RomitKumar/GSoC19/logs2019-06-17T00:29:36Z<p>RomitKumar: /* Week 3 (June 10 - June 16) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 14 ===<br />
Implemented the Save All feature. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/b0c95e89f7e5028be18ca8e71d5016eb579e7e46 b0c95e8] in pr [https://github.com/openscad/openscad/issues/2955 #2955]. Corrected the enabling of Parameter Widget on file load and opening of Recent Files and examples in empty tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/35e3fe083656fc9d952506f9f0bfdbcc2ce95ba7 35e3fe0] and [https://github.com/openscad/openscad/pull/2955/commits/acc3123308cbe169afbc4134d7a17268307b66a3 acc3123] corresponding to the changes. Discussed with mentor about the idea of Tab Header spanning the whole window.<br />
=== June 15 ===<br />
Working on Tab Header spanning whole window length.<br />
=== June 16 ===<br />
Implemented the feature of Tab Header spanning whole window length. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/087359f3b3ca6b6e2835fc8fb9cdeaf77a0aeebd 087359f] and [https://github.com/openscad/openscad/pull/2955/commits/c59df4498160f8fd5aaadc8b480b82c2263da479 c59df44] in pr [https://github.com/openscad/openscad/issues/2955 #2955].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11296User:RomitKumar/GSoC19/logs2019-06-14T06:14:58Z<p>RomitKumar: /* Week 3 (June 10 - June 16) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2955 #2955].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2955 #2955].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11295User:RomitKumar/GSoC19/logs2019-06-14T06:14:14Z<p>RomitKumar: /* Week 3 (June 10 - June 16) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in pr [https://github.com/openscad/openscad/issues/2962 #2962].<br />
=== June 12 ===<br />
Testing and cleaning of code.<br />
=== June 13 ===<br />
Done cleanup of code. This includes renaming variable/function, removing redundant function, removing mdi checkbox from Preferences/Advanced, correcting implementation of reload, prevention of double emission of currentChanged signal for first tab. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/0e923084003f16c1050aa6ea3ff04c25f0efec52 0e92308] and [https://github.com/openscad/openscad/pull/2955/commits/cdaee5ea6d226efb963b9f38a839fc74e6cad911 cdaee5e] in pr [https://github.com/openscad/openscad/issues/2962 #2962].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11279User:RomitKumar/GSoC19/logs2019-06-11T15:29:39Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].<br />
<br />
== Week 3 (June 10 - June 16) ==<br />
=== June 10 ===<br />
Started testing of code submitted.<br />
=== June 11 ===<br />
Changed the behaviour of Open and Open Tab as suggested by mentors. Made commits [https://github.com/openscad/openscad/pull/2955/commits/6a0a1d169be25db80da5f5d9cb9e91251f2414b5 6a0a1d1] and [https://github.com/openscad/openscad/pull/2955/commits/e3ff4d90ef3828a01652d25a15d7fea546f2dcaf e3ff4d9] in [https://github.com/openscad/openscad/issues/2962 #2962].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11276User:RomitKumar/GSoC19/logs2019-06-10T15:54:42Z<p>RomitKumar: /* Week 2 (June 3 - June 9) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.<br />
=== June 9 ===<br />
Completed the work of implementing Open(File menu option, Recent Files, Examples), Save, Close feature for multi-tab. Pushed the corresponding commits to pr [https://github.com/openscad/openscad/pull/2955/ #2955].</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11272User:RomitKumar/GSoC19/logs2019-06-09T09:02:43Z<p>RomitKumar: /* June 7 */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/d594980fb192da2871dcc1c442ac521624d54b19 d594980] to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11271User:RomitKumar/GSoC19/logs2019-06-09T01:47:06Z<p>RomitKumar: /* Week 2 (June 3 - June 9) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.<br />
=== June 7 ===<br />
Removed the option for single file QScintilla Editor. Instead now multi-tab editor will not show tabs in case of single tab, effectively giving the feeling of single file QScintilla Editor. Implemented this feature in multi-tab editor.<br />
=== June 8 ===<br />
Continuing the work to implement open feature in multi-tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11265User:RomitKumar/GSoC19/logs2019-06-06T19:02:48Z<p>RomitKumar: /* Week 2 (June 3 - June 9) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.<br />
=== June 6 ===<br />
Working on implementing the open feature for multi-tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11263User:RomitKumar/GSoC19/logs2019-06-05T19:18:30Z<p>RomitKumar: /* June 4 */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
=== June 4 ===<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.<br />
=== June 5 ===<br />
Studying the openscad codebase for implementation of save features in multi-tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11256User:RomitKumar/GSoC19/logs2019-06-04T18:57:42Z<p>RomitKumar: /* Week 2 (June 3 - June 9) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab <br />
== June 4 ==<br />
Implemented the correct behaviour of Find, Find and Replace for multi-tab. Pushed commit [https://github.com/openscad/openscad/pull/2955/commits/23129ba51dfe1f62ed8333fe84fd15a63bb0db71 23129ba] to pr [https://github.com/openscad/openscad/pull/2955/ #2955]. Found a bug related to previous implementation of Find. Raised issue [https://github.com/openscad/openscad/issues/2962 #2962]. Discussed about implementing save feature for multi-tab and naming of new tabs and tabs that have same file names.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11246User:RomitKumar/GSoC19/logs2019-06-03T18:35:52Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behaviour of Customizer widget and animation on changing tabs. Implemented those behaviour in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.<br />
<br />
== Week 2 (June 3 - June 9) ==<br />
=== June 3 ===<br />
Correcting the behaviour of Find, Find and Replace for multi-tab</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11240User:RomitKumar/GSoC19/logs2019-06-02T19:14:56Z<p>RomitKumar: /* Week 1 (May 27 - June 2) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behavior of Customizer widget and animation on changing tabs. Implemented those behavior in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]<br />
=== June 2 ===<br />
Run basic tests on gui implemented so far. Discovered that Find, Find and Replace are not behaving correctly for multi-tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11235User:RomitKumar/GSoC19/logs2019-06-01T19:14:27Z<p>RomitKumar: /* Week 1 (May 27 - June 2) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.<br />
=== June 1 ===<br />
Discussed with mentor about behavior of Customizer widget and animation on changing tabs. Implemented those behavior in codebase of openscad. Pushed the commits to pr [https://github.com/openscad/openscad/pull/2955 #2955]</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11234User:RomitKumar/GSoC19/logs2019-06-01T09:29:55Z<p>RomitKumar: /* Week 1 (May 27 - June 2) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.<br />
=== May 29 ===<br />
Removed support for legacy editor and corrected the keyboard mapping for zoom in/out. Pushed commits [https://github.com/openscad/openscad/pull/2955/commits/cfa32dab32175ef6e591abfab757d8b95034cf05 cfa32da] and [https://github.com/openscad/openscad/pull/2955/commits/1ad0f53653a5922abe1d66911f9eacbc1ea9af93 1ad0f53] to pr [https://github.com/openscad/openscad/pull/2955 #2955].<br />
=== May 30 ===<br />
Corrected the updation of undoState and windowModified. Now these states behave correctly for multi-tab environment. Realised that stl exports and enable status of parameterWidget are not behaving correctly.<br />
=== May 31 ===<br />
Corrected the behaviour of stl exports and enable status of parameterWidget. Running some basic tests to check the correctness of work done till now.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11215User:RomitKumar/GSoC19/logs2019-05-29T08:17:04Z<p>RomitKumar: /* Week 1 (May 27 - June 2) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.<br />
=== May 28 ===<br />
Implemented the code for integration of pre-available editor features with multi tab. There are some issues that need to be handled like checking the undo state, highlighting of error in multiple files.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11213User:RomitKumar/GSoC19/logs2019-05-28T08:50:44Z<p>RomitKumar: </p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]<br />
<br />
== Coding Period (May 27 - Aug 19) ==<br />
== Week 1 (May 27 - June 2) ==<br />
=== May 27 ===<br />
Discussed about possibility and various method of integration of Simple and QScintilla Editor with multi-tab editor.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11191User:RomitKumar/GSoC19/logs2019-05-26T22:33:50Z<p>RomitKumar: /* Community Bonding Period (May 6 - May 27) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype1 Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.<br />
=== May 21 ===<br />
Discussed about correctness of signal dispatcher.<br />
=== May 22 ===<br />
Implemented signal dispatcher in a separate class. Made the [https://github.com/openscad/openscad/pull/2949/files#diff-99feea0b406e34be128d4299fafad187R2732 pr]. Discussed about implementation details of multi-tab feature. Decided to implement the feature in a separate TabManager class.<br />
=== May 23 ===<br />
Studying the openscad codebase for feasibility of implementation of TabManager class.<br />
=== May 24 ===<br />
Studying openscad codebase.<br />
=== May 25 ===<br />
Made a prototype project with similar gui features as multi-tab. Implemented those features using with a separate TabManager class as suggested by mentors. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype2 Prototype2 Code]<br />
=== May 26 ===<br />
Implement basic gui(opening and closing of tabs) of multi-tab in openscad code. The feature in implemented in a separate TabManager class. Made the [https://github.com/openscad/openscad/pull/2955 pr #2955]</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11135User:RomitKumar/GSoC19/logs2019-05-21T05:02:20Z<p>RomitKumar: /* Community Bonding Period (May 6 - May 27) */</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the openscad codebase to look for implementation of saving feature for each tab.<br />
=== May 20 ===<br />
Implemented the feature of saving of tab contents in prototype code. Main Window name updates on switching tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=Google_Summer_of_Code/2019&diff=11104Google Summer of Code/20192019-05-20T12:24:41Z<p>RomitKumar: </p>
<hr />
<div>= GSoC 2019 With BRL-CAD =<br />
<br />
'''BRL-CAD was accepted as an [https://summerofcode.withgoogle.com umbrella mentoring organization] for the Google Summer of Code!'''<br />
<br />
<br />
= Accepted Projects =<br />
<br />
<!-- NEW STUDENTS:<br />
copy this template and append your block at the end of this site<br />
<br />
== Title ==<br />
* Description<br />
* Org: BRL-CAD or LibreCAD or FreeCAD or OpenSCAD or Slic3r<br />
* Student: [[User:StudentName|Student Name]]<br />
* [[User:StudentName/GSoC19/Abstract| Abstract]]<br />
* [[User:StudentName/GSoC19/Project|Project Plan]]<br />
* [[User:StudentName/GSoC19/Log|Dev Log]]<br />
<br />
--><br />
<br />
== Porting SVGNest to C++ ==<br />
* Implementing auto-arrange feature in Slic3r to help print as much objects as we can on the print bed to speed up total printing time. SVGNest is a JS library which implements a nesting algorithm which is what we need.<br />
* Org: Slic3r<br />
* Student: [http://brlcad.org/wiki/User:3bhady Mohamed Abdelhady]<br />
* [https://summerofcode.withgoogle.com/projects/#6145102097940480 Abstract]<br />
* [https://docs.google.com/document/d/1jPKPcwzsgZp71-dwcqjF-2dhkbSJFzd1UJiHqWadBFs/edit#heading=h.ify3uxas0bf5 Project Plan]<br />
<br />
<br />
== Automate Reinforcement Process in FreeCAD ==<br />
* This project is to automate Reinforcement process by using Rebar Addon in FreeCAD. The idea is to create UI on top of the current implementation to combine different types of Rebars in a single Dialog Box as per the user requirements. For example, combine Stirrups and Rebars (different types of rebars) in case of Beam Reinforcement.<br />
* Org: FreeCAD<br />
* Student: [https://www.freecadweb.org/wiki/User:Suraj_Dadral Suraj]<br />
* [https://summerofcode.withgoogle.com/projects/#4615685316018176 Abstract]<br />
* [https://www.freecadweb.org/wiki/User:Suraj_Dadral/gsoc_proposal Project Plan]<br />
* [https://www.freecadweb.org/wiki/User:Suraj_Dadral/GSoC19/logs Dev Log]<br />
<br />
<br />
== Improvement of OpenSCAD Text-Editor Features ==<br />
* The goal of this project will be to add different IDE-like features to the integrated text editor thus advancing its usage. This will make the editor more user-friendly and easier to handle large codes. I will work on implementing multi-file editing support to the editor and autocompletion of OpenSCAD keywords.<br />
* Org: OpenSCAD<br />
* Student: [[User:RomitKumar|Romit Kumar]]<br />
* [https://summerofcode.withgoogle.com/projects/#5042363104231424 Abstract]<br />
* [[User:RomitKumar/GSoC19/proposal|Project Plan]]<br />
* [[User:RomitKumar/GSoC19/logs|Dev Log]]</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar&diff=11103User:RomitKumar2019-05-20T12:12:35Z<p>RomitKumar: </p>
<hr />
<div>I am currently an undergraduate student pursuing Computer Science and Engineering from National Institute of Technology, Durgapur (West Bengal, India). I have experience with Java, C++, Python, SQL, and LaTeX. As per my academic curriculum, I have undergone courses on Basic of Programming in C, Data Structures, and Object Oriented Programming in C++. Besides, I have also done a few self projects which are available on my github. <br />
<br />
== Contact Information == <br />
'''Name''' : Romit Kumar<br />
<br />
'''Email''': [mailto:romitkumar1705@gmail.com romitkumar1705@gmail.com] <br />
<br />
'''Github''': [https://github.com/RomitKumar/ RomitKumar] <br />
<br />
'''IRC Username''': RomitKumar <br />
<br />
'''Gitter Username''': RomitKumar<br />
<br />
== GSoC'19 Proposal Details ==<br />
'''Title''': Improvement of OpenSCAD Text-Editor Features<br />
<br />
'''Abstract''': https://summerofcode.withgoogle.com/projects/#5042363104231424<br />
<br />
'''Org''': OpenSCAD<br />
<br />
'''Proposal''': https://brlcad.org/wiki/User:RomitKumar/GSoC19/proposal<br />
<br />
'''Devlog''': https://brlcad.org/wiki/User:RomitKumar/GSoC19/logs</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/proposal&diff=11102User:RomitKumar/GSoC19/proposal2019-05-20T12:09:35Z<p>RomitKumar: Created page with "== Project Title == Improvement of OpenSCAD Text-Editor Features<br> Organization: OpenSCAD == Abstract == OpenSCAD is a free and open-source software for creating solid 3D C..."</p>
<hr />
<div>== Project Title ==<br />
Improvement of OpenSCAD Text-Editor Features<br><br />
Organization: OpenSCAD<br />
<br />
== Abstract ==<br />
OpenSCAD is a free and open-source software for creating solid 3D CAD objects. The application provides its own set of instructions/command to create a 3D model. These instructions include various pre-defined functions, keywords and a syntax to use them. While there are some external editors that facilitate the writing of code for OpenSCAD, its integrated editor lacks many of the desired features.<br />
<br />
As modern OpenSCAD usage has advanced, it now makes more extensive use of libraries consisting of many files, and the editor features have not kept pace with this more advanced workflow. The goal of this project will be to add different IDE-like features to the integrated text editor thus advancing its usage. This will make the editor more user-friendly and easier to handle large codes. Currently, the editor supports features like syntax highlighting, bracket matching, numbering of lines, besides others. I will work on implementing multi-file editing support to the editor and autocompletion of OpenSCAD keywords.<br />
<br />
== Detailed Description and Implementation ==<br />
The project can be listed down to two major subtasks: <br />
==== Phase I - Multi-file Editing ====<br />
The editor currently supports editing of one file in a window. Whenever a new file in opened, a new window opens with that file. I will work towards adding the tabs to the editor. This will allow opening multiple files, one at each tab, in a single window. This will include: <br />
<br />
i) '''Implementing a GUI'''<br><br />
A GUI support for Tab Document Interface. The QScintilla editor is contained in editorDockContents widget by using its addWidget() function. Instead an object of QTabWidget can be made and passed for addWidget() function of editorDockContents. Each tab of the QTabWidget can hold a widget of QScintilla editor. The tabs will of course be movable and closable. An option for creating new tabs will be added in the File menu. <br />
<br />
ii) '''Making GUI functional'''<br><br />
Writing code to handle opening and closing of tabs. New tabs can be created using the addTab() function of QTabWidget. Similarly, closing of tabs can be handled by catching tabCloseRequested() signal or equivalent. Drag and Drop features will be re-implemented to open a new tab instead of another window. <br />
<br />
iii) '''Attaching features to each tab'''<br><br />
The editor already supports features like indenting, commenting and various others. These features need to be extended to all tabs of editor. Besides, functionalities like preview or rendering need to be attached to current active editor tab such that whenever preview/render is clicked, code of current active tab(or as discussed in the community) is compiled. This can be done by making a separate QScintilla object for each tab. Whenever a tab is changed, the editor object(whose member method has implementation of the functionalities) can point to currently active tab’s QScintilla object. <br />
<br />
iv) '''Saving of changed files'''<br><br />
Whenever a editor tab is closed, it is needed to check the change status of file and to provide a dialog box to ask for saving the changes. Again, this can be implemented by implementing tabCloseRequested() signal of each tab. Similar checks need to be performed on closing the window. This can be done by checking the change status of each open tab.<br />
<br />
The expected GUI should look like the following, generated with mock-up code:<br />
[[File:Image3.png|700px|thumb|center]]<br />
Any changed files will be marked by asterisk(*)<br />
[[File:Image4.png|700px|thumb|center]]<br />
Changes in file menu<br />
[[File:Image2.png|700px|thumb|center]]<br />
<br />
<br />
==== Phase II - Keyword Autocompletion ====<br />
The current editor has no mechanism of suggestions for autocompletion based on already typed text. The aim of this phase will be to add features to provide suggestions based on prefix-matching of typed text. The suggestions will only consist of OpenSCAD keywords. This feature has a prototype at [https://github.com/openscad/openscad/pull/2889 PR #2889]. My implementation of the feature will be influenced by the prototype. It primarily consist of: <br />
<br />
i) '''Implementing QsciLexer and QsciAbstractAPIs'''<br><br />
It includes maintaining a list of OpenSCAD keywords and using them to implement the functions lexer and api class. The actual implementation part can be done by subclassing QsciLexer and QsciAbstractAPIs classes. This provides us with the lexer and api objects. The keywords and the related templates will be hard-coded in the subclassed files. This can be later(not in scope of project) expanded to write all the keywords in a separate json/xml files and the subclassed codes can read the keywords from those json/xml files.<br />
<br />
ii) '''Integrating with editor'''<br><br />
The QScintilla editor object requires the api and lexer objects for it to suggest for autocomplete keywords. Once the lexer and api objects are attained, they can be attached to the editor object. This gives the editor functionality of autocomplete with behaviour defined in the lexer and api class.<br />
<br />
iii) '''Autocompletion Settings'''<br><br />
This includes options to set enable status of autocompletion feature and the time delay before the suggestions appear. This can be implemented by storing the settings in QSettings class. The option can be made available in Edit - Preferences - Editor. <br />
<br />
Refer gif at [https://github.com/openscad/openscad/pull/2889 PR #2889] to see the expected result<br />
<br />
Changed GUI at Preferences-Editor<br />
[[File:Image1.png|700px|thumb|center]]<br />
<br />
<br />
== If Time Permits ==<br />
If the outlined work is completed before time, I will like to further extend the feature set of editor. Below are the optional features which can be included to the current scope of project: <br />
* Implementing CTRL+TAB key combination for cycling among tabs in editor<br />
* Automatic completion of closing brackets in editor<br />
<br />
<br />
== Deliverables ==<br />
* Complete support of multi-file editing. Users should be able to create and close multiple files in a single window and can access any files in any order. Each file should be able to extend already available editing features. Options for saving and content modified marker will also be available for each file.<br />
* Autocomplete suggestions of all OpenSCAD keywords. The editor will provide keyword suggestions along with various parameters of functions. The suggestions can be chosen through arrow keys and selected by pressing enter. <br />
<br />
<br />
== Timeline ==<br />
==== May 6 - May 26 (Community Bonding Period) ====<br />
* Familiarize myself with the code and community<br />
* Learn and explore Qt Framework - using documentation, books<br />
* Learn and explore QScintilla <br />
<br />
==== May 27 - June 2 ====<br />
* Choose among various options to implement multi-file editing<br />
* Implement a GUI to support multiple file editor in a single window<br />
* Add option in File menu and Editor dock to open a new file in same window<br />
<br />
==== June 3 - June 9 ==== <br />
* Write code to implement multi-file editing<br />
* Handle opening and closing of file tabs from GUI buttons<br />
* Code to open a new file in same window from file menu and editor dock<br />
* Migrate the support of opening file in new window to different gui option<br />
<br />
==== June 10 - June 16 ====<br />
* Extend already available editor features(indentation, commenting, colour-scheme, undo/redo, etc) to each new file in a window<br />
* Mapping preview and rendering functionality to currently active tab or as discussed in the community<br />
* Provide drag-and-drop support for opening new file in same window<br />
<br />
==== June 17 - June 23 ====<br />
* Extensive testing of multi-file editing feature<br />
* Solve any issues encountered while testing<br />
<br />
==== June 24 - June 28 (Phase I Evaluation) ==== <br />
* Take suggestions and feedback of work done till now<br />
* Implement changes based on suggestions<br />
* Based on stakeholder feedback, reassess and adjust remaining project scope in an agile manner if needed.<br />
<br />
==== June 29 - July 7 ====<br />
* Go through the OpenSCAD documentation and create a list of its keywords<br />
* Develop template of keywords and related function signatures<br />
<br />
==== July 8 - July 14 ====<br />
* Code to implement auto-completion feature<br />
* Use lexer and api class of QScintilla to implement the feature<br />
* Explore the prototype for autocomplete calls<br />
<br />
==== July 15 - July 21 ====<br />
* Extensive testing of auto-completion feature<br />
* Solve any issues encountered while testing <br />
<br />
==== July 22 - July 26 (Phase II Evaluation) ==== <br />
* Take suggestions and feedback of work done till now<br />
* Implement changes based on suggestions<br />
* Based on stakeholder feedback, reassess and adjust remaining project scope in an agile manner if needed.<br />
<br />
==== July 27 - August 4 ====<br />
* Add GUI to set enabling/ disabling of autocomplete feature<br />
* Add GUI for autocomplete character threshold<br />
* Code to implement enable status of autocomplete feature<br />
<br />
==== August 5 - August 11 ====<br />
* Code to implement autocomplete character threshold<br />
* Look for possible optimization and clean up of code<br />
* Resolve any issues encountered<br />
<br />
==== August 12 - August 19 ====<br />
* Buffer week for any unforeseen circumstances<br />
<br />
<br />
== Further work based on project ==<br />
I will like to continue my contribution to the OpenSCAD organization even after the GSoC period. There are certain list of features that I have in mind and will love to add to the editor. These features include:<br />
* Autocomplete suggestions of user-defined variable/function/module names <br />
* Add shift+scroll trigger to change numeric values<br />
* Functionality to add tab-triggered templates and related gui options <br />
<br />
<br />
== About Me ==<br />
I am an undergraduate student in my third year pursuing Computer Science and Engineering from National Institute of Technology, Durgapur (West Bengal, India). I have experience with Java, C++, Python, SQL, and LaTeX. As per my academic curriculum, I have undergone courses on Basic of Programming in C, Data Structures, and Object Oriented Programming in C++. Besides, I have also done a few self projects which are available on my github.<br />
<br />
'''Contact Information''':<br> <br />
Name: Romit Kumar<br><br />
University: National Institute of Technology, Durgapur<br><br />
Email: romitkumar1705@gmail.com<br><br />
Github: https://github.com/RomitKumar<br><br />
IRC Username: RomitKumar<br><br />
Gitter Username: RomitKumar<br><br />
Country: India<br><br />
Timezone: Indian Standard Time (GMT+5:30)<br></div>RomitKumarhttps://brlcad.org/w/index.php?title=File:Image4.png&diff=11101File:Image4.png2019-05-20T11:27:12Z<p>RomitKumar: </p>
<hr />
<div></div>RomitKumarhttps://brlcad.org/w/index.php?title=File:Image2.png&diff=11100File:Image2.png2019-05-20T11:26:57Z<p>RomitKumar: </p>
<hr />
<div></div>RomitKumarhttps://brlcad.org/w/index.php?title=File:Image1.png&diff=11099File:Image1.png2019-05-20T11:26:42Z<p>RomitKumar: </p>
<hr />
<div></div>RomitKumarhttps://brlcad.org/w/index.php?title=File:Image3.png&diff=11098File:Image3.png2019-05-20T11:22:31Z<p>RomitKumar: </p>
<hr />
<div></div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar/GSoC19/logs&diff=11097User:RomitKumar/GSoC19/logs2019-05-20T10:50:54Z<p>RomitKumar: Created page with "== Community Bonding Period (May 6 - May 27) == === May 14 === Discussed about sharing of mock-up code and prototypes with mentor === May 15 === Developed a prototype for gui..."</p>
<hr />
<div>== Community Bonding Period (May 6 - May 27) ==<br />
=== May 14 ===<br />
Discussed about sharing of mock-up code and prototypes with mentor<br />
=== May 15 ===<br />
Developed a prototype for gui implementation of multi-tab feature. [https://github.com/RomitKumar/openscad-prototype/tree/master/prototype1 Prototype Code]<br />
=== May 16 ===<br />
Implementing prototype in openscad codebase<br />
=== May 17 ===<br />
Implemented the prototype in openscad codebase. Made [https://github.com/openscad/openscad/pull/2949 PR #2949]. This pr will act as a sandbox for prototyping and sharing of coding with mentor. Discussion about integrating pre-available editing features in all tabs<br />
=== May 18 ===<br />
Implemented the comment feature using signal dispatcher as suggested by mentor. Made the pr.<br />
=== May 19 === <br />
Studying the codebase to look for implementation of saving feature for each tab.</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar&diff=11096User:RomitKumar2019-05-20T09:31:15Z<p>RomitKumar: </p>
<hr />
<div>I am currently an undergraduate student pursuing Computer Science and Engineering from National Institute of Technology, Durgapur (West Bengal, India). I have experience with Java, C++, Python, SQL, and LaTeX. As per my academic curriculum, I have undergone courses on Basic of Programming in C, Data Structures, and Object Oriented Programming in C++. Besides, I have also done a few self projects which are available on my github. <br />
<br />
== Contact Information == <br />
'''Name''' : Romit Kumar<br />
<br />
'''Email''': [mailto:romitkumar1705@gmail.com romitkumar1705@gmail.com] <br />
<br />
'''Github''': [https://github.com/RomitKumar/ RomitKumar] <br />
<br />
'''IRC Username''': RomitKumar <br />
<br />
'''Gitter Username''': RomitKumar<br />
<br />
== GSoC'19 Proposal Details ==<br />
'''Title''': Improvement of OpenSCAD Text-Editor Features<br />
<br />
'''Abstract''': https://summerofcode.withgoogle.com/projects/#5042363104231424<br />
<br />
'''Org''': OpenSCAD</div>RomitKumarhttps://brlcad.org/w/index.php?title=User:RomitKumar&diff=11094User:RomitKumar2019-05-20T09:20:07Z<p>RomitKumar: Created page with "I am currently an undergraduate student pursuing Computer Science and Engineering from National Institute of Technology, Durgapur (West Bengal, India). I have experience with..."</p>
<hr />
<div>I am currently an undergraduate student pursuing Computer Science and Engineering from National Institute of Technology, Durgapur (West Bengal, India). I have experience with Java, C++, Python, SQL, and LaTeX. As per my academic curriculum, I have undergone courses on Basic of Programming in C, Data Structures, and Object Oriented Programming in C++. Besides, I have also done a few self projects which are available on my github. <br />
<br />
== Contact Information == <br />
'''Name''' : Romit Kumar<br />
<br />
'''Email''': romitkumar1705@gmail.com <br />
<br />
'''Github''': [https://github.com/RomitKumar/ RomitKumar] <br />
<br />
'''IRC Username''': RomitKumar <br />
<br />
'''Gitter Username''': RomitKumar</div>RomitKumar