Filterfunktionen - Alle Filter Ausschalten!

Forum zur Erstellung von Schaltern über den Befehlseditor
Benutzeravatar
FireBack
Berater
Beiträge: 357
Registriert: 12. Jul 2004 20:38
Betriebssystem: Win10.1, Mac OSx 10.11.6, iOS 10.1
Produkt: DOpus 12.1
Version DOpus: Pro

Filterfunktionen - Alle Filter Ausschalten!

Beitrag von FireBack » 7. Okt 2004 12:50

Filterfunktionen:
Erklärung:
Schaltet alle gesetzten Filter AUS
Code:
Set SHOWFILTERFILENAME
Set HIDEFILTERFOLDERS

Problematiker
Beiträge: 26
Registriert: 21. Nov 2008 16:47
Betriebssystem: Windows 7 32+64bit
Produkt: 12.6
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Problematiker » 3. Mär 2010 12:27

Kapier ich nicht :roll:
Ich möchte öfters innerhalb eines Ordners alle verborgenen und alle Systemordner und -dateien anzeigen lassen. Dies möchte ich über einen Schalter bzw. durch Klick auf einen Button bewirken. Durch erneuten Klick sollen diese Ordner und Dateien auch wieder ausgeblendet werden.
Welchen Code muss ich dafür den Schalter einbauen?
Vielen Dank im Voraus.

Benutzeravatar
tomtom
Berater
Beiträge: 586
Registriert: 2. Jun 2004 07:26
Betriebssystem: Win 7 Home 32bit
Produkt: DOpus immer aktuellste Version
Version DOpus: Pro
Wohnort: Oelde / Münsterland

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von tomtom » 4. Mär 2010 19:03

Hallo,

diesen Code benutze ich dafür.

Code: Alles auswählen

<?xml version="1.0"?>
<button backcol="none" display="both" textcol="none">
	<label>Systemfiles ein/ausblenden</label>
	<tip>Systemfiles ein/ausblenden</tip>
	<icon1>#extra_7</icon1>
	<function type="normal">
		<instruction>@toggle invert</instruction>
		<instruction>Set HIDESYSTEMFILES=Toggle</instruction>
		<instruction>Set HIDEFILTERATTR=h  </instruction>
	</function>
</button>
Gruß
tomtom

Problematiker
Beiträge: 26
Registriert: 21. Nov 2008 16:47
Betriebssystem: Windows 7 32+64bit
Produkt: 12.6
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Problematiker » 5. Mär 2010 01:32

Vielen, vielen Dank :D

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 19. Mai 2011 12:27

Code: Alles auswählen

@toggle invert
Set HIDESYSTEMFILES=Toggle INVERT
Set GLOBALHIDEHIDDEN=Toggle INVERT
Set GLOBALHIDEFILTER=""
Set SHOWFILTERFILENAME=""
Set HIDEFILTERFILENAME=""
Set SHOWFILTERFOLDERS=""
Set HIDEFILTERFOLDERS=""
Set HIDEFILTERATTR=""
Set SHOWFILTERATTR=""
Set QUICKFILTERCLEAR
Set VIEWFILTER=""
Select NOPATTERN SHOWHIDDEN
Das ist mein nicht-funktionierender Code für mein Endziel: Einen einzigen Button (keinen Three-Button!!) zu erstellen der toggelt zwischen:
TOGGLE ON: all(!) items with "hidden" attribute are displayed (i.e. both normal hidden items and hidden system items) and also all possible filters cleared and exited.
TOGGLE OFF: all items with "hidden" attribute are hidden from view. all filters stay exited.

with items i mean mixed files + folders incl system items (system files + system folders) and also global hidden items. in DO10 there are 3 separate menu items for this (as shown in leo's last post/screenshot). please post the full XML button code, thanks!
Wie lautet der korrigierte Button Code? :?:

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Kundal » 20. Mai 2011 01:11

Hallo plunder,
Da hast du mehrere Buttons aus dem Standardmenü zusammengeworfen. Könnte grundsätzlich auch funktionieren, aber wenn ich das so sehe sind da ein paar Ungereimtheiten drin.
- in den ersten 3 Zeilen hast du 3mal INVERT und 3mal Toggle stehen. Was soll denn dabei rauskommen? Wenn das erste "@toggle invert" funktioniert muss der Rest eindeutig sein und nicht auch noch toggeln und invertieren sonst kommt je nach Ausgangszustand immer ein anderes Ergebnis raus. Also schmeiss mal das 2. und 3. "Toggle INVERT" raus und setze die beiden Filter stattdessen auf "off" damit der Button zwischen on und off vorhersagbar toggeln kann.
- Die weiteren Filter können nicht toggeln, weil nur ein Zustand definiert ist (="" heisst setze Filter auf "keinen"). Das macht ja nichts, denn du willst ja keine speziellen Filter setzen.
- Wie genau die beiden Befehle Set GLOBALHIDEHIDDEN=Off und Set GLOBALHIDEFILTER="" miteinander interagieren ist mir nicht klar. Eventuell sind die nahezu redundant oder einer von beiden muss raus.
Das Ergebnis wäre dann so, daß alle Zeilen eindeutig auf "jeweiligen Filter abschalten" gesetzt sind.
Das "@toggle" am Anfang sollte jetzt die "togglebaren" Filter umschalten und mit den "nicht togglebaren" hoffentlich kein Problem haben und damit fast das tun was du haben möchtest. Im "Toggle OFF" Zustand werden dabei nämlich nicht nur die versteckten Systemdateien versteckt sondern auch die "GLOBALHIDDEN" die du selbst definiert hast. Das kannst du dadurch vermeiden, dass du einfach keine global zu versteckenden Dateien definierst.
Der Buttoncode sollte also so aussehen (testen musst du das selbst, da habe ich wenig Lust zu):

Code: Alles auswählen

@toggle invert
Set HIDESYSTEMFILES=Off
Set GLOBALHIDEHIDDEN=Off
Set GLOBALHIDEFILTER=""       'eventuell weglassen
Set SHOWFILTERFILENAME=""
Set HIDEFILTERFILENAME=""
Set SHOWFILTERFOLDERS=""
Set HIDEFILTERFOLDERS=""
Set HIDEFILTERATTR=""
Set SHOWFILTERATTR=""
Set QUICKFILTERCLEAR
Set VIEWFILTER=""
Select NOPATTERN SHOWHIDDEN

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 20. Mai 2011 10:43

Hallo Kundal,
danke für den Hilfe- und Erklärungsversuch. Dein Buttoncode funktioniert leider nicht so ganz. Im übrigen, testen kann man den Button ganz einfach im C:\ Wurzelverzeichnis, wenn man da noch 2 weitere "normale" Hidden Objects hinkopiert. Abgesehen von den in Dopus10 neuen Globalfiltern (die für unseren Fall erst einmal vernachlässigt werden können)... die prinzipielle lokale Funktionalität ersieht man anhand der vier Buttons (S, H, F, C) in der Dopus10-Standard "Menu"-Toolbar, die 3 verschiedene Stadien durchlaufen müssen.

Stadium 1: Wir haben einen beliebigen Listerzustand, z.B. S(off) H(on) F(off) C(off) bzw. s-H-f-c . Da C kein Toggleschalter ist existieren theoretisch 8 (=2³) mögliche Zustände: s-h-f-c, S-h-f-c, s-H-f-c, S-H-f-c, s-h-F-c, S-h-F-c, s-H-F-c und S-H-F-c . Nehmen wir nun einen anderen üblichen Listerzustand heraus (siehe Screenshot1), z.B. S(off) H(off) F(on) C(off) bzw. s-h-F-c. Die Dopus10 "Menu"-Toolbar sieht (in dem ausgeklappten Menü) wie folgt aus:
Bild

Wenn ich nun auf unseren Button klicke, dann soll er in der "pressed position" verbleiben (das bezeichnet man doch mit "TOGGLE ON", nicht wahr?). Seine Aktion soll sein: egal welchen der 8 möglichen vorherigen Zustände der Lister auch hatte, der Lister soll nun auf Stadium 2 forciert werden, der da lautet: S(on) H(on) F(off) C(off) bzw. S-H-f-c
Bild

Das bezweckt dass alle Systemdateien (versteckte und nicht-versteckte) angezeigt werden und alle sonstigen versteckten Dateien auch und dass alle Filter gelöscht sind und auch die Filterleiste selbst verschwunden ist.

Drücken wir nun nochmals auf unseren Button, dann geht er in seine "released position" zurück ("TOGGLE OFF"). Bei dieser Aktion bleibt die Filterleiste weiterhin verschwunden ("F(off)") und die Toggles S und H werden released. Wir erreichen Stadium 3 mit dem definierten Listerzustand S(off) H(off) F(off) C(off) bzw. s-h-f-c
Bild

Das bezweckt dass
+ die Filterleister weiterhin verschwunden bleibt
+ die Systemdateien/-ordner nicht angezeigt werden
+ die Hiddendateien/-ordner nicht angezeigt werden

Wenn man jetzt wieder auf unseren Button klicken würde, bekäme man wieder Screenshot2 als Ergebnis (weil TOGGLE ON als S(on) H(on) F(off) C(off) fest definiert ist). Ich bin mir sicher man könnte das locker in einen Button programmieren..

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Kundal » 20. Mai 2011 12:12

Habe gerade nicht soviel Zeit mich mit dem Thema näher zu beschäftigen. Deshalb nur kurz zur Begriffsklärung:
- Toggle heißt, daß der Button bei wiederholtem klicken zwischen 2 Zuständen hin und herschaltet (on-off).
- Invert heißt, daß der Button sich hinsichtlich der "gedrückt - nicht gedrückt"- Anzeige andersherum verhält als normal. Daß heißt, er wird nicht im aktivierten Zustand hervorgehoben sondern im deaktivierten.
An deiner Stelle würde ich von dem Vorhaben ablassen das alles mit Linksklick-Toggle regeln zu wollen und würde mir einen 2-Weg Button bauen in dem du für Links- und Rechts-Klick genau definieren kannst was du haben willst.
Wird wohl nur so sein, daß der Button nicht durch Hervorhebung signalisiert, welchen Zustand du gerade geschaltest hast. Ich brauche das aber auch nicht, weil ich in der Statusleiste rot hervorgehoben sehen kann, ob im angezeigten Ordner versteckte Dateien/Ordner sind und wieviele das sind.

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 20. Mai 2011 12:30

hi! Danke.

Ich bekomme das Gefühl dass so ein einziger Button (also kein 2-Way-Button) gar nicht möglich ist zu programmieren. Wenn dies offiziell bestätigt ist (dass so etwas nicht möglich ist), dann würde ich mich theoretisch mit einem 2-Way-Button (LMB, RMB) zufrieden geben.. aber in der Praxis würde ich dann ganz darauf verzichten. Schliesslich hat das DO10-Menü ja schon diese 4 Buttons die mir genauestens den Zustand anzeigen (Screenshots1,2,3). Genau deswegen muss es ein einziger Toggle-Button (gedrückt vs. nicht gedrückt) sein, ansonsten bringt's nichts. :?

Wenn du meinst dass das ganze eine Herausforderung ist (zeitlich, technisch), dann würde ich im engl. Forum (Help&Support) einen Thread eröffnen, so dass die ganze Welt sehen kann, wie toll doch so ein einziger Toggleknopf (anstelle von 3 or 4) wäre.

3 4 Knöpfe durch einen einzigen genialen zu ersetzen. Das wäre was!

Abgesehen von meiner Wenigkeit, dieser Thread hier scheint auf großes Interesse zu stoßen (Zugriffe: 1629)..

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Kundal » 20. Mai 2011 13:36

Hallo plunder,
Ich bin gerade an einem PC ohne DOpus, deshalb kann es sein daß ich jetzt Blödsinn erzähle. Ich habe folgende Idee zum Thema:
- Du hast die Befehle aus dem Button "Clear Local File Filters" integriert. Diese Filter und auch das Eingabefeld verschwinden ja auch dann, wenn du den Ordner verläßt und wieder zurückgehst, weil sie nur temporär den aktuellen Ordner betreffen.
Das ließe sich also einfacher machen wenn du den aktuellen Ordner neu lädst: GO {sourcepath} könnte klappen (notfalls "GO Up", "GO Back" versuchen)
- Du willst die Filter "Show System Files" und "Show hidden Files" anscheinend immer gemeinsam toggeln. Meines Wissens haben versteckte Systemdateien die Attribute h und s, während versteckte Dateien eben nur h haben. Es müsste ein einzelner Button machbar sein der alles versteckt was die Attribute h und/oder s hat. Den Befehl dazu kann ich hier nicht nachsehen. (evtl. "set SHOWFILTERATTR=h,s Toggle" ?).
Wie gesagt ist vielleicht Blödsinn, aber du könntest in der Richtung weiterdenken um die vielen Zeilen loszuwerden, die den Button verkomplizieren.

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 20. Mai 2011 14:33

Die dünne untere Filterleiste kann man tatsächlich durchs Hinzufügen von

Code: Alles auswählen

Go {sourcepath}
beseitigen! Viel weiter komme ich nicht, da mir die ganzen Kommandos und deren Syntax bzw. deren Verwendung aus dem PDF-Handbuch nicht klar wird. Ist eine Herausforderung dahinter zu steigen (also einen aufbauenenden Einstieg zu finden).

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Kundal » 20. Mai 2011 15:35

Die dünne untere Filterleiste kann man tatsächlich durchs Hinzufügen von Go {sourcepath} beseitigen!
...und werden die gsetzten Filter dabei auch zurückgesetzt? Wenn ja ist das doch die halbe Miete.
Hast du den Button mal in dieser Kombination probiert:

Code: Alles auswählen

Go {sourcepath}
Set SHOWFILTERATTR=h,s Toggle
Ich bin mir nur nicht sicher, ob der Befehl "SHOWFILTERATTR" überhaupt existiert. Sonst mal durch "Set HIDEFILTERATTR=h,s Toggle INVERT" ersetzen.
Wenn du so nicht weiterkommst schau ich mir das heute abend am eigenen PC nochmal an.

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 20. Mai 2011 16:41

(Ja, lol, allein der Befehl "Go {sourcepath}" löscht sowohl die Filter als auch lässt den Filterbalken komplett verschwinden. Mit dieser einzigen Zeile sind wir alle lokalen Filter los, denke ich! War ne super Idee!)

oops. deine anderen Vorschläge .. bei denen passiert rein gar nichts :oops:

Wenn wir's nicht hinkriegen sollten (z.B. aus zeitlichen Gründen), würde ich dann einen Thread im englischen Forum eröffnen. Aber soweit sind wir noch lange nicht. Kundal ich zähle auf dich! :D

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von Kundal » 20. Mai 2011 23:07

Hallo plunder,
Was du vorhast läßt sich mit Toggle so nicht wirklich umsetzen.
Du willst sowohl Systemdateien (Attribut hs) als auch global versteckte Dateien (Attribut h) verstecken/anzeigen.
Das macht der Menübutton "ausgeblendete Dateien anzeigen" schon alleine, vorausgesetzt der Schalter "Systemdateien anzeigen" ist aktiviert. Ist dieser jedoch deaktiviert, toggelt der erste nur noch die Dateien mit Attribut h.
Ist auch klar, daß das so sein muss, weil diese Schalter mit gesetzten/nicht gesetzten Haken unter "Voreinstellungen=>Ordneranzeige" korrespondieren und es deshalb immer vom Ausgangszustand abhängig sein wird was für ein Ergebnis herauskommt, wenn beide getoggelt werden.
Deine Lösung ist also, konsequent ausschließlich den Button "ausgeblendete Dateien anzeigen" zu benutzen und die Existenz des anderen zu ignorieren. Du kannst "deinem" Button zusätzlich problemlos beibringen, die lokalen Filter zurückzusetzen indem du den Code des entsprechenden Buttons hinzufügst. Gegenüber der "GO {sourcepath}"-Geschichte hat das den Vorteil, daß die bestehende Auswahl nicht aufgehoben wird.
Das sieht dann so aus:

Code: Alles auswählen

Set GLOBALHIDEHIDDEN=Toggle INVERT
Set SHOWFILTERFILENAME=""
Set HIDEFILTERFILENAME=""
Set SHOWFILTERFOLDERS=""
Set HIDEFILTERFOLDERS=""
Set HIDEFILTERATTR=""
Set SHOWFILTERATTR=""
Set QUICKFILTERCLEAR
Select NOPATTERN SHOWHIDDEN
Präziser läßt sich das eben nur mit einem Mehrweg-Button steuern, der dir keine Hervorhebung bietet.
Wird bei dir die Anzahl versteckter Dateien und Ordner in der Stausleiste angezeigt? Wenn nicht solltest du das mal probieren. Ich finde das wesentlich informativer.
Ich glaube kaum, daß GPSoftware einem Feature Request für dein Anliegen nachkommen wird weil ich darin keine große Wichtigkeit sehen kann. Ich finde es so wie es ist ganz gut "designed". Aber Versuch macht kluch...

plunder
Beiträge: 8
Registriert: 19. Mai 2011 12:22
Betriebssystem: XPpro-sp3 (32-bit)
Produkt: Dopus 10 latest beta

Re: Filterfunktionen - Alle Filter Ausschalten!

Beitrag von plunder » 21. Mai 2011 01:08

Kundal hat geschrieben:und es deshalb immer vom Ausgangszustand abhängig sein wird was für ein Ergebnis herauskommt, wenn beide getoggelt werden.
Superdanke Kundal für deine Bemühungen. Die Erklärungen sind besonders hilfreich. Ich sprach von möglichen 2³ Ausgangszuständen, und du sprichst von "abhängig". Was hälst du denn von der Idee, dass *bevor* die Toggle-Zeile zum Zuge kommt, zuvor (also "über" der Toggle-Zeile) innerhalb meines Buttons Befehle gesetzt werden, die alles z.B. auf "Button nicht gedrückt" setzen. Mit anderen Worten, *bevor* die Zeile mit dem Toggle-Kommando dran kommt, man zuerst den Zustand S(off) H(off) F(off) C(off) (bzw. s-h-f-c) forciert mit Set=OFF Kommando für alle drei: S, H, F (falls nötig).
Also erst Set=OFF, Set=OFF, Set=OFF, dann Set=TOGGLE, und dann der Rest von deinem Code (mit den diversen Set="" Kommandos). Mit Boolean Operators (und IF, THEN, ELSE) könnte man den Algorithmus für solch eine Toggle-Funktion logisch bestimmt(?) aufbauen, aber ich glaube die Dopus Sprache unterstützt so etwas nicht.

neh, ich glaube dass würde auch nicht funktionieren. Ab dem 2.Drücken würde sich am Zustand nichts mehr ändern, es bliebe bei S(on) H(on) ..
========
Ohne höhere Skriptsprache scheint so ein Button also nicht machbar. (wie wir herausgefunden haben..)
========
Wie wärs dann mit einem 2-Way-Button, der LMB=Stadium3 (s-h-f-c) und RMB=Stadium2 (S-H-f-c) forciert? Der einzige Nachteil bei so einem 2-Way-Button ist, dass man den Listerzustand anhand des Buttons (da er nicht toggelt!) nicht erkennen kann. Wie würde dafür der vollständige XML-Button lauten? :roll:

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast