Jump to content

Variable im Dialog verwenden


---
 Share

Recommended Posts

Hallo,

ich möchte ein Texteingabefeld in einem Dialog erstellen, dessen Standardwert von Projekt zu Projekt variiert. So soll der momentan verwendete Wert eines Keywords als Standardwert im Dialog dienen, womit nur noch geringfügige Anpassungen zu tätigen sind.

 

MfG

Stefan

Link to comment
Share on other sites

(Fast) Alle Informationen zu benutzerdefinierten Skript-Dialogen finden Sie unter https://connect.gom.com/x/DZ-VAg

Um einen Dialog per Skript konfigurieren zu können, empfiehlt sich, einen "Extendable break dialog" anzlegen:
image.png.9f69437878290d39e09b197c9685f692.png

Im so erzeugten Skript-Code kann man dann jedes Widget über seinen "Object name" konfigurieren.
image.png.05a884a383c83e68086ce3e1702ef55d.png
In diesem Fall über "DIALOG.input.value".

Zugriff auf die Keywords erhält man im Skript-Editor über F2 (bzw, RMB -> Insert -> Element Value).
image.png.6897b2fab57216d8c6802dbd3f663768.png
In diesem Fall "gom.app.project.user_inspector".

Damit ergibt sich für das folgende Skript die Zeile "DIALOG.input.value = gom.app.project.user_inspector" und der gesamte Code könnte so aussehen:

# -*- coding: utf-8 -*-

import gom


DIALOG=gom.script.sys.create_user_defined_dialog (content='<dialog>' \
' <title>Dialog Title</title>' \
' <style></style>' \
' <control id="OkCancel"/>' \
' <position></position>' \
' <embedding></embedding>' \
' <sizemode></sizemode>' \
' <size height="112" width="217"/>' \
' <content rows="1" columns="2">' \
'  <widget columnspan="1" rowspan="1" column="0" type="label" row="0">' \
'   <name>label</name>' \
'   <tooltip></tooltip>' \
'   <text>Texteingabe</text>' \
'   <word_wrap>false</word_wrap>' \
'  </widget>' \
'  <widget columnspan="1" rowspan="1" column="1" type="input::string" row="0">' \
'   <name>input</name>' \
'   <tooltip></tooltip>' \
'   <value></value>' \
'   <read_only>false</read_only>' \
'  </widget>' \
' </content>' \
'</dialog>')

#
# Event handler function called if anything happens inside of the dialog
#
def dialog_event_handler (widget):
	pass

DIALOG.handler = dialog_event_handler

# the next line was added manually
DIALOG.input.value = gom.app.project.user_inspector

RESULT=gom.script.sys.show_user_defined_dialog (dialog=DIALOG)

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...