Name
UI_RADIOBUTTON

Syntax
UI_RADIOBUTTON name, wert, text, x, y, breite, höhe

Aufklappen Wertebereiche
name, Parametername oder Typ String
wert, beliebig
text, Typ string
x ≥ 0, Typ integer
y ≥ 0, Typ integer
breite ≥ 0, Typ integer
höhe ≥ 0, Typ integer

Aufklappen Erläuterung
Erzeugt einen Radio-Button (Optionsschaltfläche) einer Gruppe mehrerer Radio-Buttons.
Gruppen von Radio-Buttons werden durch name definiert. Elemente in der selben Gruppe deaktivieren sich gegenseitig, wenn ein anderer Button der Gruppe geklickt wird.
name: Parametername mit optionalem Indexwert, falls Array
wert: der entsprechende Parameter wird auf diesen Wert gesetzt, wenn der Button aktiviert wird
Man kann damit eine beliebige Parameter-Art umschalten.
text: Der rechts neben dem Radio-Button angezeigte Text
x, y: die Position des Radio-Buttons in Pixeln
breite, höhe: Breite und Höhe des Buttons plus Text in Pixeln

Zum einen kann man einen Booleschen Parameter mit diesem Befehl auf an oder aus setzen, so dass es im User Interface 2 Buttons gibt.
Will man mehr als 2 Buttons eine Gruppe platzieren, kann man eine Auswahlliste einer beliebigen Parametersorte bilden.

Eine dritte Möglichkeit ist, dass man mehrere Parameter definiert, die man per GLOB_MODPAR_NAME und PARAMETERS im Parameter-Script automatisch umschalten lässt (was aber weniger komfortabel und nicht scriptsparend ist).

Aufklappen Beispiel
1. Beispiel: 1 Boolescher Parameter und 2 Radiobuttons
Anlegen eines Booleschen Parameters: ff
Scriptteil im Interface-Script:
ui_radiobutton ff, 1, "Fenster an", 10, 10, 100, 20
ui_radiobutton ff, 0, "Fenster aus", 10, 35, 100, 20


2. Beispiel: 1 Ganzzahl-Parameter mit Auswahlliste und 3 Radiobuttons einer Gruppe
Anlegen eines Ganzzahl-Parameters: tt

Scrippteil im Parameter-Script:
VALUES "tt" 1,2,3

Scriptteil im Interface-Script:
dy=0
led=24

ui_radiobutton "tt", 1, "Rohbauöffnung", 10, dy, 200, 20
dy=dy+led
ui_radiobutton "tt", 2, "Architekturlichte", 10, dy, 200, 20
dy=dy+led
ui_radiobutton "tt", 3, "Türblatt-Maße", 10, dy, 200, 20


3. Beispiel: 1 Text-Parameter mit Auswahlliste und 3 Radiobuttons einer Gruppe
Anlegen eines Text-Parameters: gg

Scrippteil im Parameter-Script:
VALUES "gg" "Rohbauöffnung","Architekturlichte","Türblatt-Maße"

Scriptteil im Interface-Script:
dy=0
led=24

ui_radiobutton "gg", "Rohbauöffnung", "Rohbauöffnung", 10, dy, 200, 20
dy=dy+led
ui_radiobutton "gg", "Architekturlichte", "Architekturlichte", 10, dy, 200, 20
dy=dy+led
ui_radiobutton "gg", "Türblatt-Maße", "Türblatt-Maße", 10, dy, 200, 20


4. Beispiel: 5 Boolesche Parameter und 5 Radiobuttons einer Gruppe
Anlegen von 5 Booleschen Parametern: gs_wallhole_nominal, gs_reveal_nominal, gs_unit_nominal, gs_egress_nominal, gs_leaf_nominal

Scriptteil im Parameter-Script:
bSetParams = 0

if GLOB_MODPAR_NAME = "gs_wallhole_nominal" then ! DACH Special: Window Mounting
gs_wallhole_nominal = 1
gs_reveal_nominal = 0
gs_unit_nominal = 0
gs_egress_nominal = 0
gs_leaf_nominal = 0

bSetParams = 1
endif

if GLOB_MODPAR_NAME = "gs_reveal_nominal" then
gs_wallhole_nominal = 0
gs_reveal_nominal = 1
gs_unit_nominal = 0
gs_egress_nominal = 0
gs_leaf_nominal = 0

bSetParams = 1
endif

if GLOB_MODPAR_NAME = "gs_unit_nominal" then
gs_wallhole_nominal = 0
gs_reveal_nominal = 0
gs_unit_nominal = 1
gs_egress_nominal = 0
gs_leaf_nominal = 0

bSetParams = 1
endif

if GLOB_MODPAR_NAME = "gs_egress_nominal" then
gs_wallhole_nominal = 0
gs_reveal_nominal = 0
gs_unit_nominal = 0
gs_egress_nominal = 1
gs_leaf_nominal = 0

bSetParams = 1
endif

if GLOB_MODPAR_NAME = "gs_leaf_nominal" then
gs_wallhole_nominal = 0
gs_reveal_nominal = 0
gs_unit_nominal = 0
gs_egress_nominal = 0
gs_leaf_nominal = 1

bSetParams = 1
endif

if bSetParams then
parameters gs_wallhole_nominal = gs_wallhole_nominal,
gs_reveal_nominal = gs_reveal_nominal,
gs_unit_nominal = gs_unit_nominal,
gs_egress_nominal = gs_egress_nominal,
gs_leaf_nominal = gs_leaf_nominal
endif


Scriptteil im Interface-Script:

dy=0
led=24

dy=dy+led
ui_radiobutton "gs_wallhole_nominal", 1, "Rohbauöffnung", 10, dy, 200, 20

dy=dy+led
ui_radiobutton "gs_reveal_nominal", 1, "Architekturlichte", 10, dy, 200, 20

dy=dy+led
ui_radiobutton "gs_unit_nominal", 1, "Stock-Außenmaß", 10, dy, 200, 20

dy=dy+led
ui_radiobutton "gs_egress_nominal", 1, "Freie-Öffnung-Maße", 10, dy, 200, 20

dy=dy+led
ui_radiobutton "gs_leaf_nominal", 1, "Türblatt-Maße", 10, dy, 200, 20

Aufklappen Besonderheiten
Bis mindestens einschließlich Version 25 funktioniert der Befehl nicht korrekt mit zweidimensionalen Arrays. Der Wert für [i][j] wird in [i][i] gespeichert.

Aufklappen ArchiCAD
ab 13