AW: [Allegro] Vb.232: V30.9 ist da (Rechter Mausklick auf Flip-Buttons)

Anando Eger a.eger at aneg-dv.de
Fr Okt 1 10:59:27 CEST 2010


Lieber Frater Kleindienst, lieber Herr Eversberg,

o.k., ich hab's angestoßen, also hier meine Nutzung des neuen onflips.flx:

Ziel: ausgekräftigeres Kontextmenü für die Flip-Schaltflächen

Funktion:
1. bei Rechtsklick auf nicht-Flip-Schaltfläche wird die vollständige 
   Übersicht der Flip-Funktionen angezeigt
2. bei Rechtsklick auf Flip-Schaltfläche wird der Langtext zu hinterlegten
   Funktion angezeigt und die Ausführung angeboten

Verfahren:
1. der Flip-Befehl wird durch Aufruf eines geeigneten UP's ersetzt, 
   das zusätzliche Langtexte speichert
2. im onflip.flx werden diese Langtexte zur Anzeige verwendet

"Unschönheiten"
- Für Flips, zu denen kein Langtext hinterlegt ist bzw. die mit dem 
  flip-Befehl angelegt wurden, kann der Flip-Text (Kurztext) nicht
  angezeigt werden, da ich keine Möglichkeit gefunden habe, diesen 
  auszulesen. Deshalb wird ersatzweise die Befehlsfolge angezeigt.
  
  Aber vielleicht kennt/schafft Herr Eversberg noch eine Möglichkeit,
  den Flipbutton-Text auszulesen?

Beispielhafte Umsetzung für die Demo-Datenbank:

in _start.flx ändern:
----------------------------------------------------------------------
  ...
:start

  Flip-Buttons setzen
var "1&1: Daten=x sho rec|Satz im Auswahlfeld anzeigen"\perform MP_FlipSet
var "2&2: zDirect=X zc|Z39.50-Server abfragen"\perform MP_FlipSet
var "3&3: Name=X rset|aktuelle Ergebnismenge mit Namen versehen"\perform MP_FlipSet
var "4&4: Hilfe A-Z=x set i9Hilfe A-Z\\View quick\\set i9|Liste der Hilfethemen"\perform MP_FlipSet
var "5&5: Kalender=X kalender|Kalender anzeigen"\perform MP_FlipSet
var "6&6: Termine=h memo|Terminverwaltungsfunktionen"\perform MP_FlipSet
var "7&7: Super=h super|Übersicht der Supervisor-Funktionen"\perform MP_FlipSet
var "8&8: DbInf=X _dbinfo|Informationen zur Datenbank anzeigen"\perform MP_FlipSet
  ...
include mp_flipset.inc
  ...
----------------------------------------------------------------------
Inhalt der Datei 'mp_flipset.inc':
----------------------------------------------------------------------
  //MDOC
  //&=========================================================================
:MP_FlipSet
  //==========================================================================
  // FKT:	setzt Signalfile (dbn.sgf) zurück (wird gelöscht)
  // IN:	iv = {flipnummer}{FlipKurztext}={Flexbefehl}|{Fliplangtext}
  //            Beispiel: 1&1: Daten=x sho rec|Satz im Auswahlfeld anzeigen
  //            steht in der iv nur die Flipnummer, wird der Flip gelöscht
  // OUT:	iv unverändert, wenn o.k, sonst "@Fehlertext"
  // VAR:	$par, $flipArg, $flipNummer - temporär
  //		$SYS_Fliptext1 ... $SYS_Fliptext8 Aufbewahrung der Langtexte
  // DATE:	2010-09-19
  //&=========================================================================
  //(C):	Anando Eger, www.aneg-dv.de, frei verwendbar 

ins $par
var $par\var (0,1)\ins $flipNummer
if <1 var "@MP_FlipSet-Parameterfehler: Flipnummer < 1";jump MP_FlipSet_Ende
if >8 var "@MP_FlipSet-Parameterfehler: Flipnummer > 8";jump MP_FlipSet_Ende
var $par\var (1,0)\ins $flipAusdruck
var $par\var (1,0 e"|")\ins $flipArg
if not $flipArg var " =";ins $flipArg
var "$SYS_Fliptext" $flipNummer " " $flipAusdruck\ins

  // leider kann die Flipnummer nicht in der iv stehen, deshalb hier etwas
  // umständlich:
var "MP_FlipSet_" $flipNummer\jump
var "@MP_FlipSet(): Sprungfehler"\jump MP_FlipSet_Err

:MP_FlipSet_1
var $flipArg\flip 1\jump MP_FlipSetted
:MP_FlipSet_2
var $flipArg\flip 2\jump MP_FlipSetted
:MP_FlipSet_3
var $flipArg\flip 3\jump MP_FlipSetted
:MP_FlipSet_4
var $flipArg\flip 4\jump MP_FlipSetted
:MP_FlipSet_5
var $flipArg\flip 5\jump MP_FlipSetted
:MP_FlipSet_6
var $flipArg\flip 6\jump MP_FlipSetted
:MP_FlipSet_7
var $flipArg\flip 7\jump MP_FlipSetted
:MP_FlipSet_8
var $flipArg\flip 8

:MP_FlipSetted
var $par\var (b"=" e"|")\ins $flipArg
var "#uX" $flipNummer " " $flipArg\ins
var $par

:MP_FlipSet_Ende
return
----<Ende MP_FlipSet.inc>---------------------------------------------
Inhalt der Datei 'onflips.flx':
----------------------------------------------------------------------
  //MDOC
z=
  //&----------------------------------------------------------------
$Modul OnFlips:2010-09-29
$Package ModPar
  // FKT:      Funktionsauswahl der Flip-Buttons anbieten
  //           * auf Flip-Button: Anzeige Befehl und Ausführung
  //           * auf anderen Buttons: Anzeige aller Anwenderbefehle
  //             mit Auswahl zur Ausführung
  // IN:       iv mit Flip-Nummer
  // OUT:      -
  //
  // VAR:	$t, $liste - temporär
  //		$SYS_Fliptext1 ... $SYS_Fliptext8 Aufbewahrung der Langtexte
  // VER:        1.0
  //&----------------------------------------------------------------
  //(C):	Anando Eger, www.aneg-dv.de, frei verwendbar 

if z<1 jump start
if z>8 jump start

var "$SYS_Fliptext" z\var\if "" jump kein_Fliptext
var (b"|")\if "" jump kein_Fliptext
ins $t\var "'" $t "'" n n "        starten?"\jump Frage

:kein_Fliptext
var "#uX" z\var\ins $t\var "'" $t "'" n n "         ausführen?"

:Frage
yesno\if can jump Ende
if no jump Ende
var z\ins $t
jump OnFlips_Exec

:start
var "1"\z=

:loop_start
var "$SYS_Fliptext" z\var
if not "" jump loop_start1
var "#uX" z\var\if "" jump loopend
jump loop_start2

:loop_start1
ins $t\var (b"|")\if "" var $t;var e"=";ins _&__;ins _:__

:loop_start2
ins $t\var $liste z ": " $t n\ins $liste

:loopend
z+1\if z<9 jump loop_start

var "Nutzer-Funktionsauswahl:"\set a\var $liste\Ares\if can jump Ende
var (0,1)\ins $t\if "" jump Ende

:OnFlips_Exec
var "#uX" $t\var\exec

:Ende
end
----<Ende onflips.flx> -----------------------------------------------

Vielleicht kann dies als Anregung dienen.

Viele Grüße
Anando Eger

---------------------------------------------------------------------
Anando Eger Datenverarbeitung
Herr Dipl.-Ing. Anando Eger
Gustav-Voigt-Str. 24
01156 Dresden
Tel.: +49 (0)351 454 1236  http://www.aneg-dv.de
Fax: +49 (0)351 454 1238  mailto:a.eger at aneg-dv.de
---------------------------------------------------------------------




On 30 Sep 2010 at 7:58, Bibliothek der Abtei Ettal wrote:

> 82488 Ettal, 30.9.2010
> 
> Lieber Herr Eversberg, 
> 
> ich halte Ihre Entscheidung für falsch, keinen onflips.flx zu liefern. Dabei
> habe ich die kleinen Bibliotheken im Auge, die Allegro haben und oft nicht
> in der Lage sind, einen Flex selbstständig zu erstellen. Sie benötigen eine
> Vorlage, an der sie dann herumbasteln können, je nach ihren Erfordernissen.
> Ansonsten rechne ich damit, dass diese Verlautbarung 232 ("Mehr
> Flip-Flexibilität") nicht zur Kenntnis genommen wird. Leider. 
> 
> Ich bitte Sie daher, Ihre Entscheidung nochmals zu überdenken. 
> 
> Besten Dank. 
> 
> Mit freundlichen Grüssen
> 
> Frater Hieronymus Kleindienst OSB
> Bibliothekar der Abtei Ettal
> Tel.: (08822) 74-265
> -----Ursprüngliche Nachricht-----
> Von: allegro-bounces at biblio.tu-bs.de
> [mailto:allegro-bounces at biblio.tu-bs.de] Im Auftrag von Bernhard Eversberg
> Gesendet: Mittwoch, 29. September 2010 10:06
> An: Allegro-C Diskussionsliste
> Betreff: [Allegro] Vb.232: V30.9 ist da (Rechter Mausklick auf Flip-Buttons)
> 
> 
> Verlautbarung 232 der Entw.Abt.                              2010-09-29
> -------------------------------
> 
>                            V30.9 liegt bereit in svn und ftp
>                            DemoVersion gleichfalls erneuert
> 
> Mehr Flip-Flexibilitaet
> -----------------------
> Bisher ist es so: Rechter Mausklick auf einer Flip-Taste liefert
> ein Auswahlmenue, in dem schlicht die Beschriftungen der Flip-
> Buttons stehen. Bei a99 ist das wenig aufregend, bei a99a jedoch
> sinnvoll - dazu aber muessen die Beschriftungen lang genug sein,
> laenger als bei a99, wo sie notgedrungen kurz zu sein haben, um
> auf die Buttons zu passen. Das rief Frust hervor.
> Aber was tun, um diesem Uebelstand abzuhelfen?
> 
> Die Loesung ist schlicht diese:
> Falls ein FLEX namens  onflips.flx  existiert, wird dieser bei rechtem
> Mausklick auf einem Flipbutton ausgeloest, sonst (wenn's onflips.flx
> nicht gibt) passiert dasselbe wie bisher.
> Dem  onflips.flx  wird als Argument die Nummer des Buttons uebergeben.
> Bei dem Button 1 wirkt das dann so, als waere manuell
> X onflips 1
> gegeben worden. Somit ist es sinnvoll, den FLEX  onflips.flx  wie
> folgt beginnen zu lassen:
> 
>    Argument auswerten:
> if "1" jump flip1
> if "2" jump flip2
> ...
> end
>    Rechter Mausklick auf Button 1:
> :flip1
> ...
> 
> Aber der  onflips.flx  kann natuerlich gaenzlich anders aussehen,
> das ist vollkommen freigestellt. Hier ist also eine neue Moeglich-
> keit, sich auszutoben, und wir sind schon gespannt, an welche Grenzen
> die kreativen Geister nun wieder stossen werden...
> 
> Hinweis: Wir liefern keinen  onflips.flx  mit, um nicht sofort
> etwas zu praejudizieren, sondern die Kreativitaet umso besser
> anzustacheln.
> 
> Ansonsten bietet V30.9 nur eine Anzahl Verbesserungen in einigen
> Hilfetexten, d.h. es handelt sich um wenig mehr als eine nochmals
> polierte V30.8.
> 
> 
> 
> 
> 
> _______________________________________________
> Allegro mailing list
> Allegro at biblio.tu-bs.de
> http://sun250.biblio.etc.tu-bs.de/mailman/listinfo/allegro





Mehr Informationen über die Mailingliste Allegro