Editing User:Shainasabarwal/Openscad UI Brushup
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 14: | Line 14: | ||
==Background Information== | ==Background Information== | ||
− | *Computer Science Engineering bachelor student at Guru Nanak Dev Engineering College, Ludhiana, Punjab, India. Presently studing in 3rd year. | + | *Computer Science Engineering bachelor student at Guru Nanak Dev |
− | *Working in C, C++, Wt(www.webtoolkit.eu) for last 2 years. I, in a team of 4 students developed a blogging engine in Wt. It is released under open source GPL license and the code is at https://github.com/GreatDevelopers/LBE | + | Engineering College, Ludhiana, Punjab, India. Presently studing in 3rd |
− | *Deeply interested in front-end development. Recently developing a wordpress theme for our blog cpp-tricks.com where C++11 will be promoted and different tutorials will be provided for Fundamentals of C++, Wt, Qt, boost. Screen Shots of the theme are | + | year. |
− | *I am an active member of Linux User Group, Ludhiana where the students are made | + | *Working in C, C++, Wt(www.webtoolkit.eu) for last 2 years. I, in a |
− | *I am quite familiar with git. Commit my work on git using github account(github.com/shaina7837). | + | team of 4 students developed a blogging engine in Wt. It is released |
+ | under open source GPL license and the code is at | ||
+ | https://github.com/GreatDevelopers/LBE | ||
+ | *Deeply interested in front-end development. Recently developing a | ||
+ | wordpress theme for our blog cpp-tricks.com where C++11 will be | ||
+ | promoted and different tutorials will be provided for Fundamentals of | ||
+ | C++, Wt, Qt, boost. Screen Shots of the theme are | ||
+ | *I am an active member of Linux User Group, Ludhiana where the | ||
+ | students are made awared about the open source technologies and | ||
+ | motivated to contribute in them. | ||
+ | *I am quite familiar with git. Commit my work on git using github | ||
+ | account(github.com/shaina7837). | ||
==Project Information== | ==Project Information== | ||
Line 46: | Line 57: | ||
hide widgets and use Qt size policy to keep the editor expanding when | hide widgets and use Qt size policy to keep the editor expanding when | ||
viewer is hidden and vice versa. | viewer is hidden and vice versa. | ||
+ | |||
+ | '''Ribbon UI:- ''' | ||
+ | Finding the right menu through the menubar is a hectic task for the | ||
+ | user. It takes lots of clicks and hassle going through various menus | ||
+ | and submenus to just say change the font-size. So Instead of menu | ||
+ | Based interface, icons are provided directly on the editing area so | ||
+ | that user does not have to waste time digging inside menus to do a | ||
+ | simple task. | ||
+ | I am not talking here about Microsoft's Ribbon UI specifically (as it | ||
+ | has some patent issues that we may not want to be involved in) but | ||
+ | about the concept of having Icons at top instead of multi-level menus. | ||
+ | Other examples of Ribbon UI can be found in | ||
+ | http://qt-project.org/forums/viewthread/4214 | ||
+ | We can even use the QtRibbon library for creating Ribbon widgets or | ||
+ | just create buttons on the top to provide easy access. | ||
+ | [Will upload a mockup for this, please stay tuned] | ||
'''Better Code Editor Colors:- ''' | '''Better Code Editor Colors:- ''' | ||
Line 58: | Line 85: | ||
* Solarized http://ethanschoonover.com/solarized | * Solarized http://ethanschoonover.com/solarized | ||
Can add more if required by developers. | Can add more if required by developers. | ||
+ | |||
This will require diving into highlighter.cc and adding more color themes. | This will require diving into highlighter.cc and adding more color themes. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
'''Better Model Colors:- ''' | '''Better Model Colors:- ''' | ||
Line 74: | Line 93: | ||
rendered model. Currently, we can have figures in yellow and green | rendered model. Currently, we can have figures in yellow and green | ||
color. That must have more options. | color. That must have more options. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | '''Adding smart Indentation in code editor:- ''' | |
− | + | Identation is very important to the code readability. Almost any basic | |
− | + | code editor would ident automatically when it encounters '{'. | |
− | + | Currently In editor.cc, we have functions indentselection( ) and | |
+ | unindentselection( ) which are used to provide indentation on | ||
+ | selecting the option from edit menu. Every time going to Edit menu and | ||
+ | clicking on indent option is vey tedious task. The indentation should | ||
+ | be smart, like an enter after { should put an indent of '\t' | ||
− | + | This can be done via two approaches:- | |
− | + | * Built our own simple indentation mechanism or | |
+ | * Use a complete formatting library like http://astyle.sourceforge.net/ | ||
− | + | '''Code line numbers:- ''' | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Code line numbers''' | ||
An option will be provided in the menu to add line number before each | An option will be provided in the menu to add line number before each | ||
line of the code. | line of the code. | ||
− | '''Error Highlighting''' | + | '''Error Highlighting:- ''' |
− | + | (Some doubts need to be cleared from mentor) | |
==MILESTONES== | ==MILESTONES== | ||
+ | |||
'''Community Bonding Period''' | '''Community Bonding Period''' | ||
* Talk to the community members | * Talk to the community members | ||
* Get to know the code | * Get to know the code | ||
− | '''Week 1( | + | '''Week 1(19 May)''' |
− | *Get started and remove | + | *Get started and remove a bug |
* Get comfortable with the code | * Get comfortable with the code | ||
+ | * Allow users to use Ctrl+C to copy | ||
− | '''Week 2( | + | '''Week 2/3(26 May)''' |
− | * | + | * Make the editor beautiful |
− | * | + | * Add Color schemes to the code editor |
− | + | * Give users to choose color schemes or make their own | |
− | + | * Show Line numbers | |
− | * | ||
'''Week 4(9 June)''' | '''Week 4(9 June)''' | ||
− | * | + | *Highlight errors and warnings. |
− | |||
− | |||
'''Week 5(16 June)''' | '''Week 5(16 June)''' | ||
− | * | + | *Make the View pane detatchable |
− | |||
− | |||
'''Week 6(23 June)''' | '''Week 6(23 June)''' | ||
− | * | + | *Start working on menus |
− | |||
− | |||
− | |||
'''MID TERM EVALUATION''' | '''MID TERM EVALUATION''' | ||
'''Week 7(30 June)''' | '''Week 7(30 June)''' | ||
− | * | + | *Continue working on menus and start working on Ribbon |
− | |||
'''Week 8(7 July)''' | '''Week 8(7 July)''' | ||
− | *Add | + | *Add Ribbon UI |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | '''Week 10( | + | '''Week 9/10(14 JuLy)''' |
− | * | + | *Beautify the viewer. |
+ | *Give more colors to it. | ||
− | '''Week | + | '''Week 11(28 July)''' |
− | * | + | *Add the auto-indent feature to code editor. |
'''Week 12(4 August)''' | '''Week 12(4 August)''' | ||
+ | *Icons to change formatting (font-size, font-family) on code editor | ||
*Do heavy testing and clean the code. | *Do heavy testing and clean the code. | ||
− | |||
'''Week 13(11 July)''' | '''Week 13(11 July)''' | ||
Line 194: | Line 180: | ||
===Email/Mailing List=== | ===Email/Mailing List=== | ||
− | + | I will be directly in contact with the mentors through Dr. Geo's | |
+ | mailing list (dr-geo@gnu.org). I am awared with the proper mailing | ||
+ | guidelines. I can also contact with mentor by personel mail, if | ||
+ | required. | ||
===Real-Time Contact=== | ===Real-Time Contact=== | ||
Line 246: | Line 235: | ||
designing, so I can understand well what a user can expect while | designing, so I can understand well what a user can expect while | ||
working with these softwares. | working with these softwares. | ||
+ | <will write here about patch after submission> | ||
==Future scope== | ==Future scope== | ||
* Add some of the vim bindings to the to code editor | * Add some of the vim bindings to the to code editor | ||
− | * Store themes in separate theme files which can be then shared among other users | + | * Store themes in separate theme files which can be then shared among |
+ | other users | ||
* Improving the Wireframes | * Improving the Wireframes | ||
* Improving the mouse interaction | * Improving the mouse interaction |