Vala and Genie programming
Lobster,
I just tried to compile hello-gtk.gs with Genie and got the same error you had. I noticed the line 'add (button)' was indented with two tab characters so I replaced the tabs with 8 spaces. It didn't compile so I added a blank line , without any indentation, at the end of the code and then it compiled. Using Vala 0.5.7 and Puppy 4.1.2 frugal.
Seeker
I just tried to compile hello-gtk.gs with Genie and got the same error you had. I noticed the line 'add (button)' was indented with two tab characters so I replaced the tabs with 8 spaces. It didn't compile so I added a blank line , without any indentation, at the end of the code and then it compiled. Using Vala 0.5.7 and Puppy 4.1.2 frugal.
Seeker
- Lobster
- Official Crustacean
- Posts: 15522
- Joined: Wed 04 May 2005, 06:06
- Location: Paradox Realm
- Contact:
Thanks seeker
that is good advice
(didn't seem to help)
The Valide editor seems to be the source of serious problems for me
- or maybe it is the required libraries for gtk compiling . . .
- it effects other editors and even Seamonkey, so that invoking save as crashes the program you are activating save as and sometimes even save from
this effects things too drastically to use it
and I must for now stick with Geany editor or Medit editor
I have noticed this on three pristine installs of Puppy
for now I will be using
so if anyone can replicate this behaviour and find out what and why
that would be great
that is good advice
(didn't seem to help)
The Valide editor seems to be the source of serious problems for me
- or maybe it is the required libraries for gtk compiling . . .
- it effects other editors and even Seamonkey, so that invoking save as crashes the program you are activating save as and sometimes even save from
this effects things too drastically to use it
and I must for now stick with Geany editor or Medit editor
I have noticed this on three pristine installs of Puppy
for now I will be using
- Puppy 4.12
and the devxx
vala-05.7.pet
libgee-20081125-i486.pet
medit-0.9.4.pet
genie.lang_medit.tar.gz
so if anyone can replicate this behaviour and find out what and why
that would be great
Maybe I know the reason.- it effects other editors and even Seamonkey, so that invoking save as crashes the program you are activating save as and sometimes even save from
this effects things too drastically to use it
When you used the IDE, delete the file:
/root/.recently-used.xbel
It seems that Puppys programs use an older syntax in it, while new programs like Valide use a new syntax. It is a XML file, that you can look at in an editor.
It stores the "recently used" entries in the Gtk filedialog, so there is no problem to delete it.
Puppys libraries slowly start to get outdated, such issues might happen more often in future, using new programs.
Mark
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
full example: glade window in Genie:
http://www.murga-linux.com/puppy/viewto ... 241#286241
A simpler example I attached here:
http://www.murga-linux.com/puppy/viewto ... 0&start=30
Mark
http://www.murga-linux.com/puppy/viewto ... 241#286241
A simpler example I attached here:
http://www.murga-linux.com/puppy/viewto ... 0&start=30
Mark
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
Thanks I'll take a look at it.
But now when I try to compile my program I get this error message:
My guess says that is caused by an error with Genie and Geelib. Any ideas on how to fix this?
But now when I try to compile my program I get this error message:
Code: Select all
test.gs:5.22-5.36: error: The name `Gee' does not exist in the context of `main'
var my_list = new list of int
[url=http://www.tribalwars.net/3389956.html]Super amazing game![/url]
install:
http://distro.ibiblio.org/pub/linux/dis ... -0.1.5.pet
http://distro.ibiblio.org/pub/linux/dis ... -0.1.5.pet
Then in the Valaide, go to the options, and add as library there:
gee-1.0
On my system, the ide crashes again, if I go to the options
That worked right after I had installed it.
So I added with an editor:
to the file:
/root/valide/gee1/gee1.vide
If your project has a different name and location, use the .vide file of your project.
If someone compiles by hand, use such a command:
valac --pkg=gee-1.0 hello.gs
Barry explains it here:
http://puppylinux.com/genie/datatypes.htm
Mark
http://distro.ibiblio.org/pub/linux/dis ... -0.1.5.pet
http://distro.ibiblio.org/pub/linux/dis ... -0.1.5.pet
Then in the Valaide, go to the options, and add as library there:
gee-1.0
On my system, the ide crashes again, if I go to the options
That worked right after I had installed it.
So I added with an editor:
Code: Select all
<pkg>gee-1.0</pkg>
/root/valide/gee1/gee1.vide
If your project has a different name and location, use the .vide file of your project.
If someone compiles by hand, use such a command:
valac --pkg=gee-1.0 hello.gs
Barry explains it here:
http://puppylinux.com/genie/datatypes.htm
Mark
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
Now I have another problem. I have a list with many doubles in it, I wish to get rid of these doubles. If I try this code:
I get this error:
When I try this code:
It compiles just fine but I get this message when I try to run it:
Both of those work fine in python and should work with other launguages. Any ideas?
Code: Select all
for num:int in num_list
if num not in finished_num_list
finished_num_list.add(num)
Code: Select all
test.gs:16.18-16.20: error: syntax error, expected end of line but got `!' with previous identifier
if num not in finished_num_list
^^^
test.gs:21-1-21-0: error: syntax error, expected identifier
Compilation failed: 2 error(s), 0 warning(s)
Code: Select all
for num:int in num_list
if not (num in finished_num_list)
finished_num_list.add(num)
Code: Select all
Segmentation fault
[url=http://www.tribalwars.net/3389956.html]Super amazing game![/url]
Ok, I used a testprogram:
Looks slightly different to your code, but does the same (I also tested yours, and then mine, to check where the error ould be).
When I compile and run it in the IDE, it never reaches "bye".
Running in console, I also get the segmentation fault.
If I run it in the debugger, I get:
I then used "uint" instead.
This works.
You just need to "cast" it to int, if you want to compare it to other integers, or print it.
This is done with
Here is a working example:
Mark
Code: Select all
[indent=2]
init
var num_list = new list of int
num_list.add(1)
num_list.add(2)
var finished_num_list = new list of int
for num in num_list
print("testing: %d" , num)
if not finished_num_list.contains(num)
print("adding: %d" , num)
finished_num_list.add(num)
print("bye")
When I compile and run it in the IDE, it never reaches "bye".
Running in console, I also get the segmentation fault.
If I run it in the debugger, I get:
So there is a bug concerning int types in lists.# valac --pkg=gee-1.0 main.gs
# gdb ./main
GNU gdb 6.7
Copyright (C) 2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-t2-linux-gnu"...
(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run
Starting program: /root/valide/gee1/main
(no debugging symbols found)
(no debugging symbols found)
testing: 1
adding: 1
testing: 2
Program received signal SIGSEGV, Segmentation fault.
0xb7ea1476 in g_int_equal () from /usr/lib/libglib-2.0.so.0
(gdb) backtrace
#0 0xb7ea1476 in g_int_equal () from /usr/lib/libglib-2.0.so.0
#1 0xb7f3d1d9 in gee_array_list_real_index_of (base=0x804f670, item=0x2) at arraylist.c:185
#2 0xb7f438ef in gee_list_index_of (self=0x804f670, item=0x2) at list.c:61
#3 0xb7f3e4d0 in gee_array_list_real_contains (base=0x804f670, item=0x2) at arraylist.c:174
#4 0xb7f3eabf in gee_collection_contains (self=0x804f670, item=0x2) at collection.c:39
#5 0x08048764 in _main ()
#6 0x08048829 in main ()
(gdb) quit
The program is running. Exit anyway? (y or n) y
#
I then used "uint" instead.
This works.
You just need to "cast" it to int, if you want to compare it to other integers, or print it.
This is done with
Code: Select all
(int) variablename
Code: Select all
[indent=2]
init
var num_list = new list of uint
num_list.add(1)
num_list.add(2)
var finished_num_list = new list of uint
var a=0
for num in num_list
a = (int) num
if not (num in finished_num_list)
print("adding: %d" , a)
finished_num_list.add(num)
print("added: %d" , a)
print("bye")
- Mr. Maxwell
- Posts: 215
- Joined: Sat 30 Aug 2008, 23:56
- Location: Nebraska, USA
hi. I try to do cairo-sample in genie.
So, window open ok, but I cannot do picture-image output in window ...
umm... My code is not tidy...
So, window open ok, but I cannot do picture-image output in window ...
Code: Select all
[indent=2]
uses
Gtk
GLib
Cairo
init
Gtk.init (ref args)
var test = new CairoSample ()
test.show_all ()
Gtk.main ()
class CairoSample : Window
init
title = "Cairo Genie Demo"
default_height = 550
default_width = 450
window_position = WindowPosition.CENTER
destroy += Gtk.main_quit
var drawing_area = new DrawingArea ()
drawing_area.expose_event += on_expose
add (drawing_area)
def on_expose (da: DrawingArea, event: Gdk.EventExpose) : bool
var ctx = Gdk.cairo_create (da.window)
var surf = new Cairo.ImageSurface (Cairo.Format.ARGB32,240,80)
ctx.save ()
ctx.select_font_face ('serif', Cairo.FontSlant.NORMAL, Cairo.FontWeight.BOLD)
ctx.set_font_size (32.0)
ctx.set_source_rgb (0, 0, 1)
ctx.move_to (10,50)
ctx.show_text ('Hello, World')
ctx.restore ()
surf.write_to_png ('genie_cairotext.png')
return true
PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
I made an iso with vala related stuff, like the IDE.
http://www.murga-linux.com/puppy/viewto ... 970#290970
It also includes Monodevelop with Valasupport.
There is a huge screenshot showing both IDEs in the end of that message.
I'll upgrade it to vala 0.6 next week, thanks aragon!
mymas,
sorry, I was too busy to try out your example
Hopefully can have a look at it this weekend.
Please let us know, if you have success!
Mark
http://www.murga-linux.com/puppy/viewto ... 970#290970
It also includes Monodevelop with Valasupport.
There is a huge screenshot showing both IDEs in the end of that message.
I'll upgrade it to vala 0.6 next week, thanks aragon!
mymas,
sorry, I was too busy to try out your example
Hopefully can have a look at it this weekend.
Please let us know, if you have success!
Mark
hi mark,
heavy development, 0.7 is out...
http://live.gnome.org/Vala/Release
maybe thios is also something interesting
gtkaml: http://code.google.com/p/gtkaml/
heavy development, 0.7 is out...
http://live.gnome.org/Vala/Release
maybe thios is also something interesting
gtkaml: http://code.google.com/p/gtkaml/
aragongtkaml is an XML parser that extends the Vala.Parser (literally) and transforms all your tags into a valid Gtk+ UI class described in the Vala language.
PUPPY SEARCH: http://wellminded.com/puppy/pupsearch.html
vala 0.7.0, compiled in Puppy 4.12:
http://dotpups.de/puppy4/dotpups/Programming/Vala/
I could not compile gtkaml.
Vala 0.7.0 no longer has all the headers in /usr/include/vala-1.0.
The headers were removed since 0.7.0, see official announcement.
Vala 0.5.7 was missing the required "valacodenode.h".
I could search for older versions of that file, but this might cause problems, so I prefer to wait, until a "proper" solution was found.
If someone urgently wants to test it, I might create a "unproper" pack using a external, older file.
Mark
http://dotpups.de/puppy4/dotpups/Programming/Vala/
I could not compile gtkaml.
Vala 0.7.0 no longer has all the headers in /usr/include/vala-1.0.
The headers were removed since 0.7.0, see official announcement.
Vala 0.5.7 was missing the required "valacodenode.h".
I could search for older versions of that file, but this might cause problems, so I prefer to wait, until a "proper" solution was found.
If someone urgently wants to test it, I might create a "unproper" pack using a external, older file.
Mark