X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Fscriptdialog.cpp;h=07f26b71f92618bb625f6dc3a1f7253b4e65f1b8;hb=3a8e479f331858946168c32bfc7622c9010b6680;hp=a0f7f433788d7bedc5224009a3c478ccc6ae3f0d;hpb=6b15695578f07a3f72c4c9475c1a261a3021472a;p=inkscape.git diff --git a/src/ui/dialog/scriptdialog.cpp b/src/ui/dialog/scriptdialog.cpp index a0f7f4337..07f26b71f 100644 --- a/src/ui/dialog/scriptdialog.cpp +++ b/src/ui/dialog/scriptdialog.cpp @@ -1,12 +1,10 @@ -/* - * This dialog is for launching scripts whose main purpose if - * the scripting of Inkscape itself. - * - * Authors: +/** + * Dialog for executing and monitoring script execution + * + * Author: * Bob Jamison - * Other dudes from The Inkscape Organization * - * Copyright (C) 2004, 2005 Authors + * Copyright (C) 2004-2007 Authors * * Released under GNU GPL, read the file 'COPYING' for more information */ @@ -103,13 +101,29 @@ class ScriptDialogImpl : public ScriptDialog }; static char *defaultPythonCodeStr = +#if defined(WITH_PYTHON) "# This is a sample Python script.\n" "# To run it, select 'Execute Python' from the File menu above.\n" - "desktop = inkscape.getDesktop()\n" - "dialogmanager = inkscape.getDialogManager()\n" - "document = desktop.getDocument()\n" - "document.hello()\n" + "desktop = inkscape.activeDesktop\n" + "dialogmanager = desktop.dialogManager\n" + "document = inkscape.activeDocument\n" + "inkscape.hello()\n" "dialogmanager.showAbout()\n" +#elif defined(WITH_PERL) + "# This is a sample Perl script.\n" + "# To run it, select 'Execute Perl' from the File menu above.\n" + "my $desktop = $inkscape->getDesktop();\n" + "my $dialogmanager = $inkscape->getDialogManager();\n" + "my $document = $desktop->getDocument();\n" + "$document->hello();\n" + "$dialogmanager->showAbout();\n" +#else + "# This is where you could type a script.\n" + "# However, no scripting languages have been compiled\n" + "# into Inkscape, so this window has no functionality.\n" + "# When compiling Inkscape, run \"configure\" with\n" + "# \"--with-python\" and/or \"--with-perl\".\n" +#endif ""; @@ -146,9 +160,13 @@ lang) Glib::ustring output; Glib::ustring error; Inkscape::Extension::Script::InkscapeScript engine; - engine.interpretScript(script, output, error, lang); + bool ok = engine.interpretScript(script, output, error, lang); outputText.get_buffer()->set_text(output); errorText.get_buffer()->set_text(error); + if (!ok) + { + //do we want something here? + } } /** @@ -182,10 +200,14 @@ ScriptDialogImpl::ScriptDialogImpl() menuBar.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_File"), fileMenu) ); fileMenu.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_Clear"), sigc::mem_fun(*this, &ScriptDialogImpl::clear) ) ); +#ifdef WITH_PYTHON fileMenu.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_Execute Python"), sigc::mem_fun(*this, &ScriptDialogImpl::executePython) ) ); +#endif +#ifdef WITH_PERL fileMenu.items().push_back( Gtk::Menu_Helpers::MenuElem(_("_Execute Perl"), sigc::mem_fun(*this, &ScriptDialogImpl::executePerl) ) ); +#endif mainVBox->pack_start(menuBar, Gtk::PACK_SHRINK); //### Set up the script field @@ -218,6 +240,8 @@ ScriptDialogImpl::ScriptDialogImpl() errorTextFrame.add(errorTextScroll); mainVBox->pack_start(errorTextFrame); + // sick of this thing shrinking too much + set_size_request(350, 400); show_all_children(); }