Portál AbcLinuxu, 15. července 2025 12:33


Dotaz: Jak do GTK programu zahrnut JavaScript?

hikikomori82 avatar 24.5.2008 20:14 hikikomori82 | skóre: 18 | blog: foobar | Košice
Jak do GTK programu zahrnut JavaScript?
Přečteno: 245×
Odpovědět | Admin
Mam jednoduchu aplikaciu v cistom C, (je to GTK aplikacia - 1 textbox, par tlacitok, nieco ako kalkulacka), chcel by som do toho zahrnut skriptovanie cez javascript podobne ako je to na html strankach, t.j. user do textboxu napise kusok JS kodu, stlaci tlacitko a tento kod sa vykona. Vobec nemam sajnu ako to spravit. Vdaka.
Slobodný font na technické kreslenie
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

hikikomori82 avatar 24.5.2008 21:32 hikikomori82 | skóre: 18 | blog: foobar | Košice
Rozbalit Rozbalit vše Re: Jak do GTK programu zahrnut JavaScript?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Uz som to nasiel:
#include <stdio.h>
#include <string.h>

#define XP_UNIX
#include <mozjs/jsapi.h>

int main(void) {
  // premenne
  JSRuntime *rt; 
  JSContext *cx;
  JSObject *global;
  JSClass global_class = {"global",0,
    JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,JS_PropertyStub,
    JS_EnumerateStub,JS_ResolveStub,JS_ConvertStub,JS_FinalizeStub};

  // inicializacia
  rt = JS_NewRuntime(0x100000); // jeden runtime na kazdy proces
    cx = JS_NewContext(rt, 0x1000); // jeden kontext na kazdy thread
    global = JS_NewObject(cx, &global_class, NULL, NULL); // globalny objekt pre kazdy kontext
    JS_InitStandardClasses(cx, global); // standardne triedy (Date,...)

  // samotny skript - faktorial 5
  char *script = "(function fact(n){if (n <= 1) return 1; return n * fact(n-1)})(5)";
  char *filename;
  int lineno;
  jsval rval;
  JSString *str;
  JSBool ok;

  // spustime 
  ok = JS_EvaluateScript(cx, global, script, strlen(script),
                         filename, lineno, &rval);

  // navratova hodnota 
  str = JS_ValueToString(cx, rval);
  printf("script result: %s\n", JS_GetStringBytes(str));

  return 0;
}
Kompilacia a spustenie
$ gcc -lmozjs -ggdb -o pokus pokus.c
$ ./pokus
script result: 120
Slobodný font na technické kreslenie
24.5.2008 21:33 vencas | skóre: 32
Rozbalit Rozbalit vše Re: Jak do GTK programu zahrnut JavaScript?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chápu že radit tímhle způsobem je občas nevhodné, ale přesto: napsal bych to celé v pythonu (tu krabičku, i tlačítka atd) a skriptování by pak bylo zadarmo. Ale nepochopil jsem ze zadání, jestli to musí být javascript (pak se omlouvám) nebo cokoliv na skriptování.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.