Re: [Vala] A problem in writing some ValaIde plugin..



Hello Nicolas,
I have downloaded the code you have sent me and the latest Valide source
from SVN (I think it was 511) but still when I try to compile the project
with your example it compiles fine (by the way the compiler doesn't
recognize "throws PluginError" so I removed it for now... ), but when I try
to run Valide I get:

*arkadi arkadi-laptop:~/Projects/valide$ valide
valide: symbol lookup error:
/usr/local/lib/valide/plugins/terminal/libterminal.so: undefined symbol:
vte_terminal_new
*
Maybe you have some another idea?

On Mon, Mar 29, 2010 at 8:09 PM, Nicolas Joseph <
gege2061 redaction-developpez com> wrote:

Hello,

I have added, in trunk, the support for specific compilation configuration
for plugins.

Try the attached sample plugin, I don't have problem.

2010/3/29 Arkadi Viner <arkashkin gmail com>

Hello,
I'm trying to write a simple plugin for ValaIde, which is called
'Terminal',
which should display a terminal window (or maybe there will be an option
to
open more then one..) inside the IDE (like in geany IDE for example..).
I took most of the code from the TODO plugin and changed it for my needs.
My
problem is when I try to create a Terminal widget using -
this.terminal = new Terminal();
, it compiles fine but *when I try to run ValaIde it doesn't start and I
get
this message:*
*arkadi arkadi-laptop:~/Projects/valide$ valide
valide: symbol lookup error:
/usr/local/lib/valide/plugins/terminal/libterminal.so: undefined symbol:
vte_terminal_new   *

*My plugin's code:*

using Valide;
using Vte;

public class Valide_Terminal : Plugin, Object
{
 private Gtk.ScrolledWindow scrolled_window;

 Terminal terminal; //with this line only it compiles and run fine

 public string path { get; construct set; }

 public Window window { get; construct set; }

 private bool only_load_active_tab
 {
   get
   {
     return this.window.config_manager.get_boolean ("Todo",
"only-load-active-tab");
   }
   set
   {
     this.window.config_manager.set_boolean ("Todo",
"only-load-active-tab", value);
   }
 }

 construct
 {
   this.scrolled_window = new Gtk.ScrolledWindow (null, null);

   this.scrolled_window.set_policy (Gtk.PolicyType.AUTOMATIC,
                                    Gtk.PolicyType.AUTOMATIC);

   this.terminal = new Terminal(); //with this line it compiles fine but
doesn't run...

   try
   {
     Utils.register_icon (Path.build_filename (Config.PIXMAPS_DIR,
"plugins",
                                               "terminal.png"),
"terminal-plugin-icon");
   }
   catch (Error e)
   {
     debug (e.message);
   }
   this.window.add_widget (this.scrolled_window, "terminal-plugin",
_("Terminal"),
                           Window.Placement.BOTTOM,
"terminal-plugin-icon");
 }

 ~Todo ()
 {
   this.window.remove_widget (this.scrolled_window);
 }

   public Gtk.Widget create_configure_dialog ()
   {
     Gtk.VBox vbox;
     Gtk.CheckButton check;

     vbox = new Gtk.VBox (true, 0);

     check = new Gtk.CheckButton.with_label (_("Only load symbols for
active tab"));
     check.set_active (this.only_load_active_tab);
     check.toggled.connect ((s) => {
       this.only_load_active_tab = s.get_active ();
     });
     vbox.pack_start (check, true, true, 0);

     return vbox;
 }
}

[ModuleInit]
public Type register_plugin ()
{
 return typeof (Valide_Terminal);
}

public Gtk.Widget create_configure_dialog (Valide_Terminal self)
{
 return self.create_configure_dialog ();
}

Please help..

_______________________________________________
Vala-list mailing list
Vala-list gnome org
http://mail.gnome.org/mailman/listinfo/vala-list


--
Nicolas Joseph



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]