On 21/12/2016 at 04:54, xxxxxxxx wrote:
Hi, guys!
I made some experiments trying to find a way to open a subdialogs with parameters.
But when i press the first button parameter is sending only once, and then with other button, it is used again.
Is there a solution of the issue?
There is my code based on NiclasR example:
import c4d
PLUGIN_ID = 1000004 # Test ID
class MainDialog(c4d.gui.GeDialog) :
# Do not create the object on class-level, although it might
# be unimportant since you do not open multiple objects of your
# MainDialog, it is contradicting to have one instance of sub
# dialog for all instances of the main dialog.
# A property that creates the dialog on-demand is perfect for
# this purpose.
# data = 'Testtt'
# @property
def sub_dialog(self,name) :
if not hasattr(self, '_sub_dialog') :
self._sub_dialog = SubDialog(name)
return self._sub_dialog
# c4d.gui.GeDialog
def CreateLayout(self) :
self.SetTitle('Main Dialog')
self.AddButton(1000, 0, name="Open Sub-Dialog")
self.AddButton(1001, 0, name="Open Sub-Dialog 2")
return True
def Command(self, param, bc) :
if param == 1000:
self.sub_dialog('First param').Open(c4d.DLG_TYPE_MODAL, PLUGIN_ID, subid=1)
if param == 1001:
# self.data =
self.sub_dialog('Sec param').Open(c4d.DLG_TYPE_MODAL, PLUGIN_ID, subid=1)
return True
def Restore(self, pluginid, secref) :
# We override this method so we don't have to handle the sub-
# dialog from the CommandData plugin. THIS dialog is responsible
# for the sub-dialog, do not split such management throughout
# your program or it gets confusing.
if secref['subid'] == 1:
return self.sub_dialog('').Restore(pluginid, secref)
else:
return super(MainDialog, self).Restore(pluginid, secref)
# if secref['subid'] == 2:
# return self.sub_dialog('Udin').Restore(pluginid, secref)
# else:
# return super(MainDialog, self).Restore(pluginid, secref)
class SubDialog(c4d.gui.GeDialog) :
def __init__(self,name) :
self.name = name
def CreateLayout(self) :
self.SetTitle('Sub-Dialog')
# md = MainDialog()
self.AddStaticText(1000, 0, name=self.name)
return True
class Command(c4d.plugins.CommandData) :
def Register(self) :
return c4d.plugins.RegisterCommandPlugin(
PLUGIN_ID, "Sub-Dialog Docking Test", 0, None, "", self)
@property
def dialog(self) :
if not hasattr(self, '_dialog') :
self._dialog = MainDialog()
return self._dialog
# c4d.plugins.CommandData
def Execute(self, doc) :
return self.dialog.Open(c4d.DLG_TYPE_ASYNC, PLUGIN_ID)
def RestoreLayout(self, secref) :
return self.dialog.Restore(PLUGIN_ID, secref)
if __name__ == '__main__':
Command().Register()
G
M
T
< id="SL_locer" ="" title="Зафиксировать язык"> | < id="SL_lng_from">< value="auto">Определить язык< value="az">Азербайджанский< value="sq">Албанский< value="en">Английский< value="ar">Арабский< value="hy">Армянский< value="af">Африкаанс< value="eu">Баскский< value="be">Белорусский< value="bn">Бенгальский< value="my">Бирманский< value="bg">Болгарский< value="bs">Боснийский< value="cy">Валлийский< value="hu">Венгерский< value="vi">Вьетнамский< value="gl">Галисийский< value="el">Греческий< value="ka">Грузинский< value="gu">Гуджарати< value="da">Датский< value="zu">Зулу< value="iw">Иврит< value="ig">Игбо< value="yi">Идиш< value="id">Индонезийский< value="ga">Ирландский< value="is">Исландский< value="es">Испанский< value="it">Итальянский< value="yo">Йоруба< value="kk">Казахский< value="kn">Каннада< value="ca">Каталанский< value="zh-CN">Китайский (Трад)< value="zh-TW">Китайский (Упр)< value="ko">Корейский< value="ht">Креольский (Гаити)< value="km">Кхмерский< value="lo">Лаосский< value="la">Латинский< value="lv">Латышский< value="lt">Литовский< value="mk">Македонский< value="mg">Малагасийский< value="ms">Малайский< value="ml">Малайялам< value="mt">Мальтийский< value="mi">Маори< value="mr">Маратхи< value="mn">Монгольский< value="de">Немецкий< value="ne">Непали< value="nl">Нидерландский< value="no">Норвежский< value="pa">Панджаби< value="fa">Персидский< value="pl">Польский< value="pt">Португальский< value="ro">Румынский< value="ru">Русский< value="ceb">Себуанский< value="sr">Сербский< value="st">Сесото< value="si">Сингальский< value="sk">Словацкий< value="sl">Словенский< value="so">Сомали< value="sw">Суахили< value="su">Суданский< value="tl">Тагальский< value="tg">Таджикский< value="th">Тайский< value="ta">Тамильский< value="te">Телугу< value="tr">Турецкий< value="uz">Узбекский< value="uk">Украинский< value="ur">Урду< value="fi">Финский< value="fr">Французский< value="ha">Хауса< value="hi">Хинди< value="hmn">Хмонг< value="hr">Хорватский< value="ny">Чева< value="cs">Чешский< value="sv">Шведский< value="eo">Эсперанто< value="et">Эстонский< value="jw">Яванский< value="ja">Японский |
---|---|
< id="SL_lng_to">< value="az">Азербайджанский< value="sq">Албанский< value="en">Английский< value="ar">Арабский< value="hy">Армянский< value="af">Африкаанс< value="eu">Баскский< value="be">Белорусский< value="bn">Бенгальский< value="my">Бирманский< value="bg">Болгарский< value="bs">Боснийский< value="cy">Валлийский< value="hu">Венгерский< value="vi">Вьетнамский< value="gl">Галисийский< value="el">Греческий< value="ka">Грузинский< value="gu">Гуджарати< value="da">Датский< value="zu">Зулу< value="iw">Иврит< value="ig">Игбо< value="yi">Идиш< value="id">Индонезийский< value="ga">Ирландский< value="is">Исландский< ed="ed" value="es">Испанский< value="it">Итальянский< value="yo">Йоруба< value="kk">Казахский< value="kn">Каннада< value="ca">Каталанский< value="zh-CN">Китайский (Трад)< value="zh-TW">Китайский (Упр)< value="ko">Корейский< value="ht">Креольский (Гаити)< value="km">Кхмерский< value="lo">Лаосский< value="la">Латинский< value="lv">Латышский< value="lt">Литовский< value="mk">Македонский< value="mg">Малагасийский< value="ms">Малайский< value="ml">Малайялам< value="mt">Мальтийский< value="mi">Маори< value="mr">Маратхи< value="mn">Монгольский< value="de">Немецкий< value="ne">Непали< value="nl">Нидерландский< value="no">Норвежский< value="pa">Панджаби< value="fa">Персидский< value="pl">Польский< value="pt">Португальский< value="ro">Румынский< value="ru">Русский< value="ceb">Себуанский< value="sr">Сербский< value="st">Сесото< value="si">Сингальский< value="sk">Словацкий< value="sl">Словенский< value="so">Сомали< value="sw">Суахили< value="su">Суданский< value="tl">Тагальский< value="tg">Таджикский< value="th">Тайский< value="ta">Тамильский< value="te">Телугу< value="tr">Турецкий< value="uz">Узбекский< value="uk">Украинский< value="ur">Урду< value="fi">Финский< value="fr">Французский< value="ha">Хауса< value="hi">Хинди< value="hmn">Хмонг< value="hr">Хорватский< value="ny">Чева< value="cs">Чешский< value="sv">Шведский< value="eo">Эсперанто< value="et">Эстонский< value="jw">Яванский< value="ja">Японский |
|
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
Звуковая функция ограничена 100 символами
Настройки : История : Справка : Обратная связь | Закрыть |
---|