Изменение эмулируемой конфигурации.
Свойства окон объектов.
-----------------------------------
Чтобы главное окно объекта попало в закладки конфига - оно должно быть создано при помощи модульного API. Все такие окна принадлежат к базовому классу Workfield, а автоматически создающие их объекты - к базовому классу WorkfieldOwner. Это обеспечивает универсальное единообразие свойств главных окон объектов модульного API.
Для выяснения этих свойств - создадим пустой файл, назовём его test.cfg и загрузим в эмулятор командой меню "Файл -> Открыть":
Скрытый текст
[свернуть]
Открыв затем файл test.cfg в текстовом редакторе - можно обнаружить, что объект Config уже "прописал" туда свою секцию:
Изменим значения состояний ControlBar и StatusBar на 1:Код:[Config.ini] InitialStateOf[Log]=0 SaveChangesFor[Log]=0 ExtendedStartLog=0 ActiveWindowHandle= ActiveConfigID= InitialStateOf[ControlBar]=0 SaveChangesFor[ControlBar]=0 InitialStateOf[StatusBar]=0 SaveChangesFor[StatusBar]=0
и снова запустим эмулятор:Код:[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 в редакторе - можно обнаружить, что там появилась новая секция, размещённая созданным экземпляром консоли:
Как видим - здесь состояния ControlBar и StatusBar имеют по умолчанию значения 1, поэтому, перейдя на закладку Con можно окончательно убедиться, что окно консоли имеет свои собственные полосы виджетов и что по умолчанию они включены:Код:[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
Скрытый текст
[свернуть]
То же справедливо и для окон "свежесозданных" объектов типа Terminal - у них верхняя и нижняя полосы главного окна также по умолчанию включены:
Скрытый текст
Код:[modules] Main = Main_module.em Term = Terminal_module.em [objects] Con = Main:Console VTxx = Term:Terminal[свернуть]
...
Все главные окна объектов ( кроме окна корневого конфига ) имеют параметр TabTitle, определяющий название закладки. По умолчанию этот параметр не задан и тогда название закладки главного окна объекта совпадает с именем объекта, указанным при его создании.
Однако, если в нашем тестовом файле конфигурации test.cfg изменить параметры TabTitle консоли и терминала на "Консоль", то результат может показаться довольно оригинальным:
Скрытый текст
[свернуть]










Ответить с цитированием