Probleme mit dsRadioButtons in 2 groups

Moderator: Moderatoren

Probleme mit dsRadioButtons in 2 groups

Beitragvon Martin Altmann » Fr, 04. Apr 2014 12:45

Moin,
bin am Verzweifeln - ich kriege es ums Verrecken nicht hin!
Ich habe zwei Radiobuttons in einer Gruppe und drei in einer weiteren. Die zweite Gruppe darf nur aktiv sein, wenn der erste Radiobutton der ersten Gruppe ausgewählt ist:
Code: Alles auswählen
o vorhandene überschreiben
   o nur Buchungsdaten
   o alles außer Buchungsdaten
   o alle Daten überschreiben
o vorhandene überspringen

Wenn der untere angewählt ist, ist die innere Gruppe :disabled(). Wenn der erste angewählt ist, ist die innere Gruppe :enabled().
Das Problem dabei: Sobald ich in der inneren Gruppe auf einen Eintrag klicke, rast der Punkt in den drei RadioButtons unaufhörlich durch die drei Radiobuttons durch und hört nicht auf.
Ich habe natürlich zwei dsSettingGroup: Die innere enthält die drei dsRadiobuttons (diese haben sie als parent) und die äußere enthält die anderen beiden dsRadobuttons und die innere dsSettingGroup (diese drei Parts haben sie als parent).
Hat irgendeiner von euch ein solches Konstrukt erfolgreich am Laufen? Wo habe ich den Fehler gemacht?
Code: Alles auswählen
   ::Static2      := dsSettingGroup():new( ::drawingArea, , {70,70}, {295,145} )
   ::Static2:AutoAccelerator := .F.
   ::Static2:EnableJump := .F.
   ::Static2:clipSiblings := .T.
   ::Static2:type:= XBPSTATIC_TYPE_BGNDFRAME

   ::Radio1 := dsRadioButton():new( ::Static2,, {8,115}, {280,18} )
   ::Radio1:caption := "~vorhandene Einlaufnummern überschreiben"
   ::Radio1:Tooltip := "Bitte geben Sie an, ob bereits vorhandene Einlaufnummern überschrieben werden sollen!"
   ::Radio1:selected  := {|| iif( eversion >= 6.4, ::Static3:enable(), ) }
   ::Radio1:tabStop := .T.
   AAdd( ::editControls, ::Radio1 )

   ::Static3      := dsSettingGroup():new( ::Static2, , {25,29}, {250,90} )
   ::Static3:AutoAccelerator := .F.
   ::Static3:EnableJump := .F.
   ::Static3:clipSiblings := .T.
   ::Static3:type:= XBPSTATIC_TYPE_BGNDFRAME

   ::Radio2 := dsRadioButton():new( ::Static2,, {8,7}, {280,18} )
   ::Radio2:caption := "vorhandene ~Einlaufnummern überspringen"
   ::Radio2:Tooltip := "Bitte geben Sie an, ob bereits vorhandene Einlaufnummern übersprungen werden sollen!"
   ::Radio2:selected  := {|| ::Static3:disable() }
   ::Radio2:selection:= .T.
   ::Radio2:tabStop := .T.
   AAdd( ::editControls, ::Radio2 )

   ::Radio11 := dsRadioButton():new( ::Static3,, {8,54}, {230,18} )
   ::Radio11:caption := "~alles außer Buchungsdaten überschreiben"
   ::Radio11:Tooltip := "Bitte geben Sie an, ob bei bereits vorhandenen Einlaufnummern die Buchungsdaten nicht überschrieben werden sollen!"
   ::Radio11:tabStop := .T.
   AAdd( ::editControls, ::Radio11 )

   ::Radio12 := dsRadioButton():new( ::Static3,, {8,32}, {230,18} )
   ::Radio12:caption := "~nur Buchungsdaten überschreiben"
   ::Radio12:Tooltip := "Bitte geben Sie an, ob bei bereits vorhandenen Einlaufnummern nur die Buchungsdaten überschrieben werden sollen!"
   ::Radio12:tabStop := .T.
   AAdd( ::editControls, ::Radio12 )

   ::Radio13 := dsRadioButton():new( ::Static3,, {8,10}, {230,18} )
   ::Radio13:caption := "alle ~Daten überschreiben"
   ::Radio13:Tooltip := "Bitte geben Sie an, ob bereits vorhandene Einlaufnummern komplett überschrieben werden sollen!"
   ::Radio13:selection:= .T.
   ::Radio13:tabStop := .T.
   AAdd( ::editControls, ::Radio13 )

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12691
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon brandelh » Fr, 04. Apr 2014 13:14

Mit DS kenne ich mich nicht aus, aber ich würde beide SettingGroups auf der gleichen Ebene lassen.
Nur weil die erste die zweite auslöst, sollte sie nicht auch der Parent sein.

Parent Static Groupbox1
- Radio1 => enabled Groupbox2 mit RadioButtons, wobei zu klären ist, welcher eingeschaltet werden muss !
- Radio2

Parent Static Groupbox2
- Radio1
- Radio2
- Radio3

Bei Xbase pur muss ich eine Methode (Funktion) hinterlegen welche die Steuerung übernimmt, EINE Methode für ALLE ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon Martin Altmann » Fr, 04. Apr 2014 14:28

Hubert,
eine Ebene geht leider nicht, da dann die erste Gruppe die zweite (innere) überdeckt, nachdem man einen der beiden oberen Radiobuttons angeklickt hat.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12691
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon Tom » Fr, 04. Apr 2014 15:11

Ich nutze XClass nicht, vermute aber, dass es an einem Fehler in der Evaluierung liegt, wenn das Dialogmanagement herauszukriegen versucht, welche Elemente dis-/enabled werden müssen. Was geschieht, wenn Du die "innere Gruppe" mal testweise nach außen verlagerst?
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6657
Registriert: Do, 22. Sep 2005 22:11
Wohnort: Berlin

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon Martin Altmann » Fr, 04. Apr 2014 15:17

Nun,
das Problem habe ich nicht, wenn ich einen der äußeren Radiobuttons anklicke. Dann wird der parent der inneren Gruppe ordentlich enabled oder disabled. Das Problem habe ich, wenn ich in der enableden inneren Gruppe ein Radiobutton anwähle.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12691
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon brandelh » Fr, 04. Apr 2014 16:25

achso, wenn du im abhängigen einen anklickst, werden nacheinander alle der gleichen inneren durchlaufen ?
Hast du den Quellcode ?

wo steht bei denen was von selected() ?
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon Martin Altmann » Fr, 04. Apr 2014 16:59

Moin,
brandelh hat geschrieben:achso, wenn du im abhängigen einen anklickst, werden nacheinander alle der gleichen inneren durchlaufen ?
ja.
brandelh hat geschrieben:Hast du den Quellcode ?
Habe ich doch oben gepostet...
brandelh hat geschrieben:wo steht bei denen was von selected() ?
Bei Radio1 und Radio2 steht das - Radio11-13 latürnich nicht.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12691
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Probleme mit dsRadioButtons in 2 groups

Beitragvon brandelh » Sa, 05. Apr 2014 7:12

Martin Altmann hat geschrieben:Moin,
brandelh hat geschrieben:Hast du den Quellcode ?
Habe ich doch oben gepostet...
brandelh hat geschrieben:wo steht bei denen was von selected() ?
Bei Radio1 und Radio2 steht das - Radio11-13 latürnich nicht.
Viele Grüße,
Martin


Ich meinte den Quellcode der abgeleiteten Klasse, der sich darum kümmert, dass immer nur eines einer Gruppe aktiv ist, also den von ds...
Wenn du weder im selected noch im setfocus slot einen codeblock eingetragen hast, woher kommt dann das Wechseln ?
Normalerweise machen die ds... das doch nicht, genausowenig wie die originalen.

Entweder setzt ds... noch etwas bei der "Gruppenbestimmung" voraus, oder einer der focus oder der selected slot verursacht die Probleme ...
mehr fällt mir dazu nicht ein und mehr als raten kann ich auch nicht ;-)
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13201
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


Zurück zu XClass++

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast