Rahmen in Rahmengruppe "sperren"

  • Hallo zusammen,


    ich habe eine Rahmengruppe mit mehreren Rahmen, von denen 2 für dieses Thema relevant sind:


    1. Ein Rahmen der Ansichten mit Dokumenten tabellarisch anzeigt.


    2. Ein Rahmen, der als Vorschau für das aktuell in Rahmen 1 ausgewählte Dokument dient.


    Doppelklick in den Vorschaurahmen bewirkt, dass sich das aktuell ausgewählte Dokument im Bearbeitungsmodus öffnet.


    Meine Anforderung ist, dass der Vorschaurahmen keinerlei Aktionen ermöglichen soll und somit lediglich als Vorschau dient.
    Die Frage lautet somit: wie kann ich das umsetzen?


    Ich habe nun schon einiges an Zeit investiert um die Anforderung umzusetzen, bislang jedoch ohne Erfolg.


    Viele Grüße

  • Vielen Dank für den Vorschlag.


    Nun ist es jedoch so, dass der Rahmen, der die Dokumentansicht enthält (NotesView), bei Auswahl eines Dokuments im Vorschaurahmen (NotesPreview) die Vorschau des Dokuments darstellt. Das ist wiefolgt umgesetzt:



    Ich wüsste nicht, wie ich die Vorschau in eine Maske projizieren kann, welche sich im Vorschaurahmen befindet und die von Dir vorgeschlagene Eigenschaft enthält.


    Gibt es nicht vielleicht noch weitere Möglichkeiten die Funktionalität eines Rahmes zu ändern abgesehen von denen, die in den Reitern unter Eigenschaften/Rahmen (siehe Screenshot) vorhanden sind?


    Viele Grüße

  • In einen ANSICHT (hier also 'Standardansicht') kannst du per MaskenFormel den Maskenname "erzwingen", in diese Maske kannst du in den QueryModeChange und/oder in den PostOpen den Eigenschaft setzen das die maske NUR in Lesemodus geöffnet werden kann.
    Im PostOpen durch den EditMode = False zu setzen, und im QueryModeChange durch zu kontrollieren das der EditMode False ist, und durch den Continue auf False zu setzen den wechsel in den Editmode zu verhindern.

  • Vielen Dank für die Unterstützung. :)


    Jetzt lässt sich das Dokument zwar auch nicht mehr editierten, wenn es regulär über die Ansicht geöffnet wird, aber dafür muss ich mir was einfallen lassen. Danke !

  • Lol, der Anforderung ist gelungen und jetzt möchtest du wieder zurück zu den ursprung ? Einfach deine Änderung rückgängig machen, . . . oder . . . dafür dann in den ANDEREN Rahmen einen aktion erstellen die das gleiche dokument in einen andere Ansicht (OHNE den FormFormel) darstellt, und notfalls dann direkt im Editier modus öffnet.

  • Nein, ich möchte nicht zurück an den Ursprung. Durch das erzwingen der Maske, welche im QueryModeChange durch Continue = False den Wechsel in den Edit Mode durch Doppelklick Preview Rahmen unterbindet, lässt sich das Dokument auch durch "normales" Öffnen über die Ansicht (nicht über den Preview Rahmen) auch nicht mehr in den Edit Mode versetzen. Der Preview Rahmen soll also die Preview Maske verwenden während andernfalls die herkömmliche Maske (Ohne QueryModeChange Continue = False) verwendet wird.


    Das ist jetzt aber eine andere Frage.


    Danke nochmals und ein schönes Wochenende :)

  • Du kannst auf Umwegen dahinkommen:
    - füge deinen Dokumenten ein weiteres (hidden) Item hinzu: "is_allowed_to_modechange" (oder ähnlich). Default value: "0"
    - erstelle einen Button "Edit" (oder ähnlich)
    - binde ihn in deine View ein
    - - Inhalt: das Item wird im fraglichen Dokument auf irgendeinen Wert gesetzt, z.B.: @SetField("is_allowed_to_modechange"; "1"). Danach wird mit @Command([EditDocument]) versucht, das Dokument im Bearbeitungsmodus zu öffnen
    - Die Property notesUIDocument.InPreviewPane kann dir evtl. gute Dienste leisten.


    Das ganze kombinierst du mit dem QueryModeChange-Geraffel, das bereits besprochen wurde und erweiterst es dahingehend, dass "Continue = False" nur dann ausgeführt wird, wenn das Item "is_allowed_to_modechange" nicht auf "1" steht (oder was auch immer du dir für Mechanismen und Bezeichner ausdenkst). Gut möglich, dass du da etwas nachschärfen musst, das ist jetzt einfach nur aus der hohlen Hand skizziert.


    Unterm Strich ist das aber alles nur snake oil! In dem Augenblick, in dem ein User Bearbeiterrechte hat (ACL, Autorenfelder), kann er ein Dokument völlig losgelöst von Strg+E, einem Button oder sonstwas bearbeiten. Soll ein User nicht bearbeiten können, wirst du um eine vernünftige ACL und ggf. Autorenfelder nicht herumkommen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl