kanotix.com

Scripte - Anleitung für gtkdialog gesucht

blauweiss - 02.03.2007, 18:37 Uhr
Titel: Anleitung für gtkdialog gesucht
Hat da jemand einen Link?
man und pinfo geben nicht viel her und die Beispiele erklären auch nicht alles.
brummer - 02.03.2007, 19:33 Uhr
Titel: RE: Anleitung für gtkdialog gesucht
hallo blauweiss

die reference findest du hier:

http://docs.linux.cz/programming/gnome/ ... index.html

ich hab mir den beispielordner /usr/share/doc/gtkdialog/examples ins home verzeichniss kopiert und die beispiele auseinandergenommen und neu zusammengesetzt. Dabei wird so einiges klar. wenn du die examples änderst und dir das ergebniss betrachtest kommst du schnell hinter die syntax. eine bessere documentation hab ich auch lange gesucht aber nix gefunden. interessant ist vieleicht noch eine diskusion im Puppy-Linux_Forum GTKdialog programming: displaying data in Table. (Solved)
http://www.murga-linux.com/puppy/viewto ... cfa498af5a

gruß brummer
blauweiss - 03.03.2007, 11:32 Uhr
Titel:
Danke für die Links brummer,
einiges wird klarer, aber ich muß feststellen:
gtkdialog und Variablen, zwei Welten treffen aufeinander.
So schnell geb ich allerdings diesmal nicht auf (ssft, woanders).
brummer - 03.03.2007, 12:04 Uhr
Titel:
hallo blauweiss

Zitat:

gtkdialog und Variablen, zwei Welten treffen aufeinander.

neeee,neee,neee die passen ganz gut zusammen Sehr glücklich
hier mal ein beispiel wie du variablen in gtkdialog einbinden kannst:
Code:

#! /bin/bash
cd $HOME
ver="<item>First item |Row 1 Column 2 |Row 1 Column 3</item>
    <item>Second item|Row 2 Column 2 |Row 2 Column 3</item>
    <item>Third item |Row 3 Column 2 |Row 3 Column 3</item>"

echo '
<window title="Check it Out Man FunkSoulBrother">
  <vbox>
   <menubar>
    <menu>
      <menuitem stock="open">
   <action>echo You selected the open menu item.</action>
      </menuitem>
      <menuitem stock="save to">
        <action>echo You selected the save menu item.</action>
      </menuitem>
      <separator></separator>
      <menuitem stock="quit">
   <action>echo You selected the quit menu item</action>
   <action type="exit">exit by menu</action>
      </menuitem>
      <label>Datei</label>
    </menu>
   </menubar>
   <frame Pixmap from File>
    <pixmap>
      <input file>/home/user/Bilder/gnu-head-banner.png</input>
    </pixmap>
  </frame>
  <hbox>
   <table>
    <width>250</width><height>80</height>
    <variable>TABLE1</variable>
    <label>|instrument|</label>' >tmp/menu.tmp
 echo "$ver" >>tmp/menu.tmp
echo    '<action>echo $TABLE1</action>
  </table>
  <table>
    <width>250</width><height>80</height>
    <variable>TABLE2</variable>
    <label>bank|Header of Second Column|Header of Third Column</label>
    <item>First item |Row 1 Column 2 |Row 1 Column 3</item>
    <item>Second item|Row 2 Column 2 |Row 2 Column 3</item>
    <item>Third item |Row 3 Column 2 |Row 3 Column 3</item>
    <action>echo $TABLE2</action>
  </table>
  <table>
    <width>250</width><height>80</height>
    <variable>TABLE3</variable>
    <label>channel</label>
    <item>First item</item>
    <item>Second item</item>
    <item>Third item</item>
    <action>echo $TABLE3</action>
  </table>
  </hbox>
  <frame Button signals>
    <hbox>
      <button>
        <label>anwenden</label>
        <action signal="clicked">echo Signal: clicked /default/</action>
      </button>
    </hbox>
  </frame>
  <hbox>
    <text>
      <label>Soundfont:</label>
    </text>
    <combobox case-sensitive="false" value-in-list="true">
      <variable>COMBOBOX1</variable>
      <item>First</item>
      <item>Second</item>
      <item>Third</item>
    </combobox>
  </hbox>
  <hbox>
    <text>
      <label>Instrument</label>
    </text>
    <combobox allow-empty="false" value-in-list="true">
      <variable>COMBOBOX2</variable>
      <item>First</item>
      <item>Second</item>
      <item>Third</item>
    </combobox>
  </hbox>
  <hbox>
   <button ok></button>
   <button cancel></button>
  </hbox>
 </vbox>
</window>
' >>tmp/menu.tmp

#gtkdialog --program=MAIN_DIALOG
gtkdialog --file=tmp/menu.tmp

rm -f tmp/menu.tmp


das is ein aus den examples zusammengeschustertes experiment. es gibt aber noch mehr möglichkeiten files und $variablen einzubinden.

gruß brummer
blauweiss - 03.03.2007, 16:56 Uhr
Titel:
Hi brummer
Schön, das du versuchst etwas Licht ins Dunkle zu bringen. Cool
Ich habe vor, mit gtkdialog automatisch einen Eintrag für eine html -Tabelle zu generieren,
um ihn dann einfach per copy&paste da einzufügen.
Dazu habe ich zwei Eingabefelder (entry) und ein Ausgabefeld (da wäre mir edit am Liebsten)
Probleme:
Keine Ahnung wie ich die Variable VARI (für die zusätzlichen html-tags),
oder auch nur einen Zeilenumbruch da einfügen kann.
Mein Beispiel, aufs Wesentliche reduziert
Code:

#! /bin/bash

VARI=html_tag
INF=Information

function FUNKTION {
  echo -e "Name1 name1
Name2 name2\n"
}

export HAUPTFENSTER="
<vbox>
  <frame Name>
    <entry width_chars=\"50\">
      <variable>NAME</variable>
      <default>\"$(FUNKTION)\"</default>
    </entry>
  </frame>

  <frame Info>
    <entry>
      <variable>INFO</variable>
      <default>$INF</default>
    </entry>
  </frame>

  <frame Ausgabe>
    <edit>
      <variable>AUSGABE</variable>
    </edit>
  </frame>

  <hbox>
    <button ok>
      <action>insert:\$VARI, AUSGABE</action>
      <action>insert:NAME, AUSGABE</action>
      <action>insert:INFO, AUSGABE</action>
    </button>

    <button><label>Loeschen</label><action>clear:AUSGABE</action></button>
  </hbox>

</vbox>
"
gtkdialog -c --program=HAUPTFENSTER

Habe schon die abenteuerlichsten Konstruktionen für die 'action' bei 'button ok' geschrieben,
um VARI ins Ausgabefeld zu bekommen.
Es funktioniert eigentlich nur in dieser Art:
Ich lasse das Ausgabefeld weg, rufe mit 'button ok' eine 'function' auf, übergebe sämtliche 'entry'
Einträge als Parameter mit, werte diese in der Funktion aus und pipe das Ganze nach kwrite,
nur dann kann ich das ganze Drumherum komplett hinzufügen,
es geht grundsätzlich also schon, nur irgendwie nicht in gtkdialog allein, komme da nicht weiter.
brummer - 03.03.2007, 18:47 Uhr
Titel:
warum übergibst du die $VARI nicht, wie die anderen auch, mit hilfe eines zusätzlichen <entry> feldes ?
blauweiss - 03.03.2007, 19:32 Uhr
Titel:
Da hätte ich so ca. 12 unnütze entry Felder, nein das ist keine Lösung.
Fehlt auch immer noch der Zeilenumbruch, dann pipe ichs lieber nach kwrite.
blauweiss - 10.03.2007, 16:34 Uhr
Titel:
Hab mein Schreiben mal als gelöst markiert,
nicht weil es mir gelungen ist meine Aufgabe mit gtkdialog zu lösen,
sondern weil es mit 'Kommander' eine wesentlich bessere Möglichkeit gibt,
dem 'bash-scripting' eine ansehnliche GUI zu verpassen,
passt ja auch wesentlich besser zur KDE Umgebung.
Thema gtkdialog ist somit erledigt.
Danke
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007