Coding References
For those kind souls that raised their hand and are starting to pitch in with development here’s a list references for development libs and apps required.
Development libs and packages
build-essential
devscripts
dh-buildinfo
libarchive-dev
libc-dev
libcairo2-dev
libdbus-1-dev
libfixposix-dev
libgconf2-dev
libgdk-pixbuf2.0-dev
libgdu-dev
libgdu-gtk-dev
libgee-dev
libglib2.0-dev
libglibmm-2.4-dev
libgstreamer-plugins-base0.10-dev
libgstreamer0.10-dev
libgtk-3-dev
libgtk-2.0-dev
libice-dev
liboobs-1-dev
libopts25
libpango1.0-dev
libsm-dev
libx11-dev
libxml2-dev
Vala packages
libvala-0.12-0 0.12.1-2
libvala-0.14-0 0.14.0-1
vala-0.12-doc 0.12.1
vala-0.14-doc 0.14.0-1
vala-dbus-binding-tool
valabind 0.6.4-1
valac 0.12.1-2
valac-0.12
Development IDE
anjuta
anjuta-extras
glade
nemiver (debugging)
Suggested Usage
I put the entire Anjuta project into subversion. If you’re developing then here’s what I’d do as there are absolute paths stored in the Anjuta configs.
1. Create a new VALA project in Anjuta
2. Grab the vala files from Subversion along with the .glade and .ui files
3. Add in the references at project level (right click in Anjuta and add:
–pkg gtk+-3.0 –pkg gdk-3.0 –pkg gdu –pkg gee-1.0 –pkg liboobs-1 –pkg libxml-2.0 –pkg pango –pkg pangocairo –pkg posix –pkg gconf-2.0 –pkg gstreamer-0.10 –pkg
4. Add the libs to the EXOGENESIS build (right click and choose NEW LIBRARY).
5. As this is a test config there is a hardcode path in main.vala ( change to your dev location).
6. There is an array of windows in fexomainwin.vala, this is the flow of windows for navigation. Basically the screens are made up from the following:
i. App creates a main gtk3 window and adds in 1 box.
ii. Screens are read from glade (exogenesis.ui) file. Basically, these are boxes added as top level items. The reference to the box is added/removed to the box on the main Gtk window.
iii. Utility functions are loaded globally.
iv. A global reference exists to gInstallData, this holds all install information that will be applied. This includes user and group information, disk partitioning, language and timezone config.
If you have any questions then please get in touch, it’ll be easier to ask rather than try to work it out.
Steve.
Recent Comments