Hi,

quoting from [1]:

        init blocks do not have any parameters. A construct block is
        used to define a creation method which requires parameters.

You need to use new PoppleSample(), without parameters. If you need to
pass some parameters, then you need to define a "construct" block. Hope
it was clear enough...

cheers
alberto

[1]
http://live.gnome.org/Genie#head-fa4a76035d436d5e8d25288f418324dc3f965696


On Fri, 2009-05-22 at 12:56 +0200, Nicolas wrote:
> Hi,
> 
> I try to port simple pdf viewer from vala to genie.
> 
> But i have this error:
> 
> pdfview.gs:53.18-53.44: error: Too many arguments, method 
> `PopplerSample.new' does not take 1 arguments
>     var sample = new PopplerSample (args[1])
>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Compilation failed: 1 error(s), 0 warning(s)
> 
> What's wrong in code ?
> 
> [indent=4]
> 
> /* Build with valac --pkg gtk+-2.0 --pkg poppler-glib yourfile.gs */
> 
> uses
>     Gtk
>     Poppler
> 
> class PopplerSample : Window
>     document : Poppler.Document
>     image : Image
>     index:int = 0
>     init
>         title = "Simple PDF Viewer"
>         default_height = 350
>         default_width = 500
>         window_position = WindowPosition.CENTER
>         destroy += Gtk.main_quit
>    
>     def PopplerSample (pdf_filename : string)
>         try
>             this.document = new Poppler.Document.from_file 
> (Filename.to_uri (pdf_filename), "");
>         except e:OptionError
>             print ("%s", e.message)
>         // Create an image and render first page to image
>         var pixbuf = new Gdk.Pixbuf (Gdk.Colorspace.RGB, false, 8, 800, 
> 600);
>         this.image = new Image.from_pixbuf (pixbuf);
>         render_page ()
>         add (this.image)
>         this.key_press_event += on_key_pressed
>         this.destroy += Gtk.main_quit
> 
>     def private on_key_pressed (source : PopplerSample, key : 
> Gdk.EventKey) : bool
>         if (key.str is "q")
>             Gtk.main_quit ()
>         // Render the next page, or the first if we were at the last
>         this.index++
>         this.index %= this.document.get_n_pages ()
>         render_page ()
>         return false
> 
>     def private render_page ()
>         var pixbuf = this.image.get_pixbuf ()
>         var page = this.document.get_page (this.index)
>         page.render_to_pixbuf (0, 0, 800, 600, 1.0, 0, pixbuf)
>         this.image.set_from_pixbuf (pixbuf)
> 
> 
> init
>     if (args.length != 2)
>         print ("Usage: %s /full/path/to/some.pdf\n", args[0])
>     Gtk.init (ref args)
>     var sample = new PopplerSample (args[1])
>     sample.show_all ()
>     Gtk.main ()
> 
> Thank you in advance,
> Nicolas.
> 
> 
> This email has been scanned for all viruses by the MessageLabs Email
> Security System.
-- 
Alberto Colombo, MSc

PhD student at Digital Imaging Research Centre
Kingston University, London

e-mail: [email protected]
 phone: +44 (0)20 8547 8642
  http://cism.kingston.ac.uk/people/details.php?AuthorID=925

This email has been scanned for all viruses by the MessageLabs Email
Security System.
_______________________________________________
Vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to