Изменение эмулируемой конфигурации.
Свойства окон объектов.
-----------------------------------
Чтобы главное окно объекта попало в закладки конфига - оно должно быть создано при помощи модульного API. Все такие окна принадлежат к базовому классу Workfield, а автоматически создающие их объекты - к базовому классу WorkfieldOwner. Это обеспечивает универсальное единообразие свойств главных окон объектов модульного API.
Для выяснения этих свойств - создадим пустой файл, назовём его test.cfg и загрузим в эмулятор командой меню "Файл -> Открыть":
Скрытый текст

[свернуть]
Открыв затем файл test.cfg в текстовом редакторе - можно обнаружить, что объект Config уже "прописал" туда свою секцию:
Код:
[Config.ini]
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
ExtendedStartLog=0
ActiveWindowHandle=
ActiveConfigID=
InitialStateOf[ControlBar]=0
SaveChangesFor[ControlBar]=0
InitialStateOf[StatusBar]=0
SaveChangesFor[StatusBar]=0
Изменим значения состояний ControlBar и StatusBar на 1:
Код:
[Config.ini]
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
ExtendedStartLog=0
ActiveWindowHandle=
ActiveConfigID=
InitialStateOf[ControlBar] = 1
SaveChangesFor[ControlBar] = 0
InitialStateOf[StatusBar] = 1
SaveChangesFor[StatusBar] = 0
и снова запустим эмулятор:
Скрытый текст

[свернуть]
Сравнив результаты можно заметить, что выше и ниже окна закладок появились полосы для размещения виджетов ( верхняя называется ControlBar, а нижняя - StatusBar ).
Отключим верхнюю полосу, установив InitialStateOf[ControlBar] опять в 0 и добавим в файл test.cfg строки, необходимые для создания консоли:
Код:
[modules]
Main = Main_module.em
[objects]
Con = Main:Console
[Config.ini]
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
ExtendedStartLog=0
ActiveWindowHandle=
ActiveConfigID=
InitialStateOf[ControlBar] = 0
SaveChangesFor[ControlBar] = 0
InitialStateOf[StatusBar] = 1
SaveChangesFor[StatusBar] = 0
Снова запустим эмулятор:
Скрытый текст

[свернуть]
Открыв ещё раз файл test.cfg в редакторе - можно обнаружить, что там появилась новая секция, размещённая созданным экземпляром консоли:
Код:
[Con.ini]
TabTitle=""
InitialStateOf[ControlBar]=1
SaveChangesFor[ControlBar]=0
InitialStateOf[StatusBar]=1
SaveChangesFor[StatusBar]=0
LeftDumpSeparator="«"
RightDumpSeparator="»"
InitialStateOf[Dump]=1
SaveChangesFor[Dump]=0
InitialStateOf[Log]=0
SaveChangesFor[Log]=0
Как видим - здесь состояния ControlBar и StatusBar имеют по умолчанию значения 1, поэтому, перейдя на закладку Con можно окончательно убедиться, что окно консоли имеет свои собственные полосы виджетов и что по умолчанию они включены:
Скрытый текст

[свернуть]
То же справедливо и для окон "свежесозданных" объектов типа Terminal - у них верхняя и нижняя полосы главного окна также по умолчанию включены:
Скрытый текст
Код:
[modules]
Main = Main_module.em
Term = Terminal_module.em
[objects]
Con = Main:Console
VTxx = Term:Terminal

[свернуть]
...
Все главные окна объектов ( кроме окна корневого конфига ) имеют параметр TabTitle, определяющий название закладки. По умолчанию этот параметр не задан и тогда название закладки главного окна объекта совпадает с именем объекта, указанным при его создании.
Однако, если в нашем тестовом файле конфигурации test.cfg изменить параметры TabTitle консоли и терминала на "Консоль", то результат может показаться довольно оригинальным:
Скрытый текст

[свернуть]