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 <arkash...@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:*
> *ark...@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

Attachment: terminal.tar.gz
Description: GNU Zip compressed data

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

Reply via email to