User:Adrian: Difference between revisions
| Line 31: | Line 31: | ||
*:''Firstly I created 32 bit installer, as it looked simpler. When this was done, 64bit installer wasn't a problem. I used these pages: http://ascend4.org/Setting_up_a_MinGW-w64_build_environment and http://ascend4.org/Building_ASCEND_for_64-bit_Windows, but of course I had to resolve many problems e.g with mingw32 compiler, lyx for Windows, threading mode etc.'' | *:''Firstly I created 32 bit installer, as it looked simpler. When this was done, 64bit installer wasn't a problem. I used these pages: http://ascend4.org/Setting_up_a_MinGW-w64_build_environment and http://ascend4.org/Building_ASCEND_for_64-bit_Windows, but of course I had to resolve many problems e.g with mingw32 compiler, lyx for Windows, threading mode etc.'' | ||
** create 32bit Ascend installer with new GUI ''<font color=green>(completed)</font>'' | ** create 32bit Ascend installer with new GUI ''<font color=green>(completed)</font>'' | ||
*:''I cloned my repository and built installer using scons. I did a lot of changes in nsis files in order to customize installer to new requirements. I removed old urls, old dependencies checking and installing, added section involving Canvas GUI.'' | *:''I cloned my repository and built installer using scons. I did a lot of changes in nsis files in order to customize installer to new requirements. I removed old urls, old dependencies checking and installing, added section involving Canvas GUI, added new dependencies checking and installing.'' | ||
** create 64bit Ascend installer with new GUI ''<font color=green>(completed)</font>'' | ** create 64bit Ascend installer with new GUI ''<font color=green>(completed)</font>'' | ||
:*''Ran the same environment in 64bit mode and built installer.'' | :*''Ran the same environment in 64bit mode and built installer.'' | ||
** create all needed python dependencies' installers (PyGI, PyGobject, PyCairo, Pango etc.) ''<font color=green>(completed)</font>'' | ** create all needed python dependencies' installers (PyGI, PyGobject, PyCairo, Pango etc.) ''<font color=green>(completed)</font>'' | ||
:*''I downloaded installer from http://sourceforge.net/projects/pygobjectwin32/files/ and removed some parts from it. More information how to do this here: http://ascend4.org/Creating_slim_PyGI_installer_for_Windows'' | :*''I downloaded installer from http://sourceforge.net/projects/pygobjectwin32/files/ and removed some parts from it. More information how to do this, here: http://ascend4.org/Creating_slim_PyGI_installer_for_Windows'' | ||
** create Gaphas installer with its dependencies ''<font color=green>(completed)</font>'' | ** create Gaphas installer with its dependencies ''<font color=green>(completed)</font>'' | ||
:*''I took code from https://github.com and https://pypi.python.org/pypi and then run this command: 'python setup.py bdist_wininst', which produces binary Windows installer.'' | :*''I took code from https://github.com and https://pypi.python.org/pypi and then run this command: 'python setup.py bdist_wininst', which produces binary Windows installer.'' | ||
** install Windows 32bit and 64bit as virtual machines ''<font color=green>(completed)</font>'' | ** install Windows 32bit and 64bit as virtual machines ''<font color=green>(completed)</font>'' | ||
** test Ascend on these vms ''<font color=green>(completed)</font>'' | ** test Ascend on these vms ''<font color=green>(completed)</font>'' | ||
*:''Generally installed Ascend on clear vm. Installer downloaded and | *:''Generally installed Ascend on clear vm. Installer downloaded and installed all dependencies and Ascend worked.'' | ||
* improved tree-view in main GUI: ''<font color=orange>(in progress)</font>'' | * improved tree-view in main GUI: ''<font color=orange>(in progress)</font>'' | ||
** multi-selection of variables to 'observe' ''<font color=green>(completed)</font>'' | ** multi-selection of variables to 'observe' ''<font color=green>(completed)</font>'' | ||
Revision as of 20:10, 18 June 2015
He is 4th year student of Gdansk University of Technology in the field of Computer Science. He has some expierence with professional work. He is passionate about parallel computing and great enthusiast for Linux and open source. Currently, he is involved in the development and improvements in the GUI of ASCEND.
Contact Email: adrbogus1@student.pg.gda.pl
Subversion account: adrian:/
GSoC 2015 Project : GUI Improvements
Generally GUI migration from Gtk2 to Gtk3 with some bugs fixing. Then implementation of an installer for the Windows users, which bundles and installs necessary libraries. Finally addition of some functionalities to GUI.
Important information
New ASCEND GUI uses Gtk3 library, so some dependencies have to support this version of Gtk.
If you want to use Canvas GUI you need to have gaphas library (gtk3 branch), which is available on github.com. You can use this command to download it automatically:
Invalid language.
You need to specify a language like this: <source lang="html">...</source>
Supported languages for syntax highlighting:
a4c, abap, abc, abnf, actionscript, ada, agda, alan, algol, ampl, amtrix, applescript, arc, arm, as400cl, ascend, asciidoc, asp, aspect, assembler, ats, autohotkey, autoit, avenue, awk, ballerina, bat, bbcode, bcpl, bibtex, biferno, bison, blitzbasic, bms, bnf, boo, c, carbon, ceylon, charmm, chill, chpl, clean, clearbasic, clipper, clojure, clp, cmake, cobol, coffeescript, coldfusion, conf, cpp2, critic, crk, crystal, cs_block_regex, csharp, css, d, dart, delphi, diff, dockerfile, dts, dylan, ebnf, ebnf2, eiffel, elixir, elm, email, erb, erlang, euphoria, exapunks, excel, express, factor, fame, fasm, felix, fish, fortran77, fortran90, frink, fsharp, fstab, fx, gambas, gdb, gdscript, go, graphviz, haml, hare, haskell, haxe, hcl, html, httpd, hugo, icon, idl, idlang, inc_luatex, informix, ini, innosetup, interlis, io, jam, jasmin, java, javascript, js_regex, json, jsp, jsx, julia, kotlin, ldif, less, lhs, lilypond, limbo, lindenscript, lisp, logtalk, lotos, lotus, lua, luban, makefile, maple, markdown, matlab, maya, mercury, meson, miranda, mod2, mod3, modelica, moon, ms, msl, mssql, mxml, n3, nasal, nbc, nemerle, netrexx, nginx, nice, nim, nix, nsis, nxc, oberon, objc, ocaml, octave, oorexx, org, os, oz, paradox, pas, pdf, perl, php, pike, pl1, plperl, plpython, pltcl, po, polygen, pony, pov, powershell, pro, progress, ps, psl, pure, purebasic, purescript, pyrex, python, q, qmake, qml, qu, r, rebol, rego, rexx, rnc, rpg, rpl, rst, ruby, rust, s, sam, sas, scad, scala, scilab, scss, shellscript, slim, small, smalltalk, sml, snmp, snobol, solidity, spec, spn, sql, squirrel, styl, svg, swift, sybase, tcl, tcsh, terraform, tex, toml, tsql, tsx, ttcn3, txt, typescript, upc, vala, vb, verilog, vhd, vimscript, vue, wat, whiley, wren, xml, xpp, yaiff, yaml, yaml_ansible, yang, zig, znn
Then you should copy gaphastmp/gaphas directory either to canvas directory or to python site-packages (usually: /usr/lib/python2.*/site-packages).
General plan
Till mid-term (3rd July 2015):
- complete working port to GTK3, including canvas GUI (completed)
- port canvas GUI to GTK3 (completed)
- Firstly found all files which should be change. Then tried to port all of them file by file (using pygi-convert.sh, knowledge of pygtk and of course internet). Next tested GUI after every relevant change. Finally performed sanity testing on all changed widgets.
- test main GUI and fix bugs (completed)
- fork gaphas gtk3 branch and fix bugs (completed)
- I forked gaphas from https://github.com/amolenaar/gaphas, then fixed bugs and sent pull request, which was merged with origin.
- install a few virtual machines (completed)
- Installed Fedora 20 32bit with Kde, Debian 7 32bit with Gnome 2 and Ubuntu 14.04 32bit with Unity on VirtualBox
- test Ascend using them (completed)
- On every machine I downloaded Ascend, built it and then tested all canvas features canvas from its menus.
- windows installer based on GTK3, tested and working on a clean Windows VM (completed)
- create installers from trunk code (completed)
- Firstly I created 32 bit installer, as it looked simpler. When this was done, 64bit installer wasn't a problem. I used these pages: http://ascend4.org/Setting_up_a_MinGW-w64_build_environment and http://ascend4.org/Building_ASCEND_for_64-bit_Windows, but of course I had to resolve many problems e.g with mingw32 compiler, lyx for Windows, threading mode etc.
- create 32bit Ascend installer with new GUI (completed)
- I cloned my repository and built installer using scons. I did a lot of changes in nsis files in order to customize installer to new requirements. I removed old urls, old dependencies checking and installing, added section involving Canvas GUI, added new dependencies checking and installing.
- create 64bit Ascend installer with new GUI (completed)
- Ran the same environment in 64bit mode and built installer.
- create all needed python dependencies' installers (PyGI, PyGobject, PyCairo, Pango etc.) (completed)
- I downloaded installer from http://sourceforge.net/projects/pygobjectwin32/files/ and removed some parts from it. More information how to do this, here: http://ascend4.org/Creating_slim_PyGI_installer_for_Windows
- create Gaphas installer with its dependencies (completed)
- I took code from https://github.com and https://pypi.python.org/pypi and then run this command: 'python setup.py bdist_wininst', which produces binary Windows installer.
- install Windows 32bit and 64bit as virtual machines (completed)
- test Ascend on these vms (completed)
- Generally installed Ascend on clear vm. Installer downloaded and installed all dependencies and Ascend worked.
- improved tree-view in main GUI: (in progress)
- multi-selection of variables to 'observe' (completed)
- better handling of keyboard navigation and value input (not started)
- menu option to show/hide different instance types (in progress)
- improve rendering of events, whens, conditionals. (not started)
- dialog boxes for not-yet-supported instance types (not started)
Till full term (28th August 2015):
- full support for live plotting during solution of dynamic models (not started)
- improved line-routing for the canvas GUI (not started)
- redesign solver/integrator APIs for better handling of user interrupts (not started)
- substantial progress on associated bug-fixed as agreed in weekly meetings (not started)
- windows installers using msys2 (optional) (not started)
Timeline for task completion
- 1st April 2015 - 3rd May 2015
- Major points describing weeks' work
- Ported Canvas GUI to Gtk3
- Fixed bugs
- Fixed properties displaying after model running
- Fixed context menu displaying issue
- Fixed context menu instance wrong tab displaying issue
- Fixed context menu tool issue
- Fixed method entry issue
- Fixed zoom issue
- Fixed solver status without parent issue
- Fixed instance showing after run issue
- Fixed canvas saving issue
- Fixed blockproperties window issue
- Fixed transient parent for about dialog issue
- Fixed transient parent for canvasproperties issue
- Fixed export svg dialog transient parent issue
- Fixed KeyError in otank dictionary issue
- Fixed selected item status issue
- Fixed no icons issue
- Fixed disappearing menu issue, removed unecessary multiple definitions of toolbar
- Fixed adjustments issue
- 4th May 2015 - 10th May 2015
- Major points describing week's work
- Installed three virtual machines and two native systems with different operating systems and desktop enviroments
- Debian 7 32bit with Gnome 2 - virtual machine to test
- Fedora 20 32bit with Kde - virtual machine to test
- Ubuntu 14.04 32bit with Unity - virtual machine to test
- Fedora 20 64bit with Gnome 3 - main computer to develop and test
- Debian 8 64bit with Gnome 3 - laptop to develop and test
- Testes Canvas GUI on every machine
- Installed three virtual machines and two native systems with different operating systems and desktop enviroments
- Fixed bugs
- Fixed renaming block issue
- Fixed issue with endless depth string in obrowser
- Fixed issue with attributes for tree column view in blockproperties for gnome 2
- Fixed saving canvas after running issue
- 11th May 2015 - 17th May 2015
- Major points describing week's work
- Created user wiki page
- Forked gaphas and fixed bugs (gtk3 branch)
- Initial work with windows 32bit installer
- Fixed bugs
- Fixed scroll adjustments issue
- Fixed scrolling on canvas
- Add gnome 2 compatibility
- 18th May 2015 - 24th May 2015
- Major points describing week's work
- Further work with windows 32bit installer
- Fixed bugs
- Fixed no reporter instance issue
- Removed workarounds after gaphas fixing
- 25th May 2015 - 31st May 2015
- Major points describing week's work
- Resolved many problems with creating trunk code installer
- Created first (bugged) version of 32 bit adrian branch installer
- 1st June 2015 - 7th June 2015
- Major points describing week's work
- Created new 32bit Ascend installer for Windows
- Created new 64bit Ascend installer for Windows
- Tested both of them on virtual machines
- Fixed bugs
- Fixed windows real time library issue
- Fixed null windows issue
- Removed code, which causes problems with python dlls imports
- Fixed 64bit installer filenames issue
- 8th June 2015 - 14th June 2015
- Major points describing week's work
- Created slim PyGI installer for Windows
- Created all python dependencies installers
- Added matplotlib files to installer
- Improved 32bit Ascend installer for Windows
- Improved 64bit Ascend installer for Windows
- Tested both of them on virtual machines
- Allowed user to resize columns in observer tab
- Updated gtk version in glade file
- Fixed bugs
- Fixed adjustment issue
- Fixed transient window for plot
- Fixed observed float values issue