├── .gitignore ├── .vs └── oscript-simple-gui │ └── v14 │ └── .suo ├── .vscode └── tasks.json ├── README.md ├── appveyor.yml ├── bin └── src │ └── FilterValue.os ├── change.log ├── docs ├── FileDialog.png ├── InputNumber.png ├── InputString.png ├── MessageBox.png ├── QueryBox.png ├── example-button-n-edit.gif ├── example-combobox-change-event.png ├── example-decoration.png ├── example-form-table.png ├── example-form-tree.png ├── ВидГруппыФормы.md ├── ВидПоляФормы.md ├── ГруппаФормы.md ├── ДеревоФормы.md ├── ДиалогВыбораФайла.md ├── Изображения.md ├── КнопкаФормы.md ├── КолонкаДерева.md ├── КолонкаПредставленияСписка.md ├── КолонкаТаблицыФормы.md ├── ПолеФормы.md ├── ПоложениеЗаголовкаЭлементаФормы.md ├── Представление.md ├── ПредставлениеСписка.md ├── Провайдер.md ├── СтандартныеДиалоги.md ├── СтильЗакрепления.md ├── ТаблицаФормы.md ├── УведомлениеВТрее.md ├── УправляемыйИнтерфейс.md ├── Форма.md └── Элементы.md ├── drafts ├── groups.os ├── test.os ├── test1.os └── СистемныеДиалоги.os ├── examples ├── example-all-components.os ├── example-button-n-edit.os ├── example-combobox-change-event.os ├── example-decoration.os └── example-win-state-key-down.os ├── fixtures ├── fileroller.ico └── green-folder.ico ├── oscript-component ├── DataTableProvider.cs ├── DialogReturnCodeEnum.cs ├── Elements.cs ├── FileDialog.cs ├── FileDialogMode.cs ├── FormButton.cs ├── FormControlDockStyle.cs ├── FormField.cs ├── FormFieldType.cs ├── FormGroup.cs ├── FormGroupType.cs ├── FormStartPositionEnum.cs ├── FormTable.cs ├── FormTableColumn.cs ├── FormTree │ ├── FormTree.cs │ ├── FormTreeColumn.cs │ └── TreeViewColumns │ │ ├── TreeViewColumns.Designer.cs │ │ ├── TreeViewColumns.cs │ │ └── TreeViewColumns.resx ├── IElementsContainer.cs ├── IFormElement.cs ├── ListViewVT │ ├── FormListView.cs │ ├── FormListViewColumn.cs │ ├── FormListViewImagePack.cs │ └── FormListViewView.cs ├── ManagedForm.cs ├── ManagedInterface.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── QuestionDialogModeEnum.cs ├── Resources │ └── gtkabout.ico ├── StandardDialogs.cs ├── SystemTray.cs ├── TitleLocation.cs ├── TreeViewColumnsProject │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── TreeViewColumns.Designer.cs │ ├── TreeViewColumns.cs │ ├── TreeViewColumns.resx │ ├── TreeViewColumnsProject.csproj │ ├── TreeViewColumnsProject.csproj.user │ └── app.config ├── app.config ├── oscript-simple-gui.csproj └── packages.config ├── oscript-simple-gui.sln ├── oslib ├── README.md ├── bin │ ├── .gitkeep │ └── readme.md ├── docs │ ├── FileDialog.png │ ├── MessageBox.png │ ├── QueryBox.png │ ├── example-button-n-edit.gif │ ├── example-combobox-change-event.png │ ├── example-decoration.png │ ├── example-form-table.png │ ├── example-form-tree.png │ ├── ВидГруппыФормы.md │ ├── ВидПоляФормы.md │ ├── ГруппаФормы.md │ ├── ДеревоФормы.md │ ├── КнопкаФормы.md │ ├── КолонкаДерева.md │ ├── КолонкаТаблицыФормы.md │ ├── ПолеФормы.md │ ├── ПоложениеЗаголовкаЭлементаФормы.md │ ├── Провайдер.md │ ├── ПростойГУИ.md │ ├── СтильЗакрепления.md │ ├── ТаблицаФормы.md │ ├── УправляемыйИнтерфейс.md │ ├── Форма.md │ └── Элементы.md ├── examples │ ├── example-all-components.os │ ├── example-button-n-edit.os │ ├── example-combobox-change-event.os │ ├── example-decoration.os │ └── example-win-state-key-down.os ├── lib.config ├── opm-metadata.xml ├── package-loader.os ├── packagedef └── tests │ ├── test-Elements.os │ ├── test-FormButton.os │ ├── test-FormField-CalendarField.os │ ├── test-FormField-CheckBoxField.os │ ├── test-FormField-ComboBox.os │ ├── test-FormField-InputField.os │ ├── test-FormField-LabelField.os │ ├── test-FormField-ListBox.os │ ├── test-FormField-ProgressBarField.os │ ├── test-FormField-TextDocumentField.os │ ├── test-FormGroup-Pages.os │ ├── test-FormGroup-UsualGroup.os │ ├── test-FormTable.os │ ├── test-FormTree.os │ ├── test-ManagedFormInfo.os │ └── test-QueryBox.os ├── packagedef ├── releases ├── gui.zip └── oscript-gui-last-for-14.zip └── tests ├── test-Elements.os ├── test-FormButton.os ├── test-FormField-CalendarField.os ├── test-FormField-CheckBoxField.os ├── test-FormField-ComboBox.os ├── test-FormField-InputField.os ├── test-FormField-LabelField.os ├── test-FormField-ListBox.os ├── test-FormField-ProgressBarField.os ├── test-FormField-TextDocumentField.os ├── test-FormGroup-Pages.os ├── test-FormGroup-UsualGroup.os ├── test-FormListView.os ├── test-FormTable.os ├── test-FormTree.os ├── test-ManagedFormInfo.os ├── test-NotifyInTray.os ├── test-QueryBox.os └── test-elements-1.os /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | obj 3 | oscript-simple-gui.dll 4 | /packages 5 | -------------------------------------------------------------------------------- /.vs/oscript-simple-gui/v14/.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/.vs/oscript-simple-gui/v14/.suo -------------------------------------------------------------------------------- /appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build} 2 | before_build: 3 | - ps: nuget restore 4 | init: 5 | - ps: Set-WinSystemLocale ru-RU 6 | - ps: Start-Sleep -s 5 7 | - ps: Restart-Computer 8 | install: 9 | - cmd: >- 10 | mkdir engine 11 | 12 | cd engine 13 | 14 | curl -o os.exe http://oscript.io/downloads/latest/exe 15 | 16 | os.exe /silent 17 | 18 | set PATH=%ProgramFiles(x86)%\OneScript\bin;%PATH% 19 | 20 | cd .. 21 | 22 | oscript -version 23 | 24 | opm install opm 25 | 26 | build: 27 | verbosity: minimal 28 | # test_script: 29 | # - ps: nunit3-console --x86 NUnitTests\bin\Debug\NUnitTests.dll 30 | 31 | after_build: 32 | # Если в компоненте несколько DLL, нужно указать каждую. 33 | # Указывать по маске *.dll не стоит, потому что тут же лежат 34 | # библиотеки из NuGet - ОдноСкрипт и все зависимости 35 | - cmd: >- 36 | copy oscript-component\bin\Debug\oscript-gui.dll oslib\bin\ 37 | 38 | cd oslib 39 | 40 | opm build . 41 | 42 | cd .. 43 | 44 | artifacts: 45 | - path: oslib\*.ospx 46 | name: component -------------------------------------------------------------------------------- /bin/src/FilterValue.os: -------------------------------------------------------------------------------- 1 | Перем Форма; 2 | Перем ДанныеСписка; 3 | Перем ПолеПоиска; 4 | Перем СписокВариантов; 5 | Перем СтрДанные; 6 | Перем ВыбранноеЗначение; 7 | Перем УправляемыйИнтерфейс; 8 | 9 | Процедура ПриИзмененииПолеПоиска() Экспорт 10 | 11 | СтрПоиска = ПолеПоиска.Значение; 12 | СтрПоиска = СтрЗаменить(СтрПоиска, " ", ".*"); 13 | 14 | РегВыражение = Новый РегулярноеВыражение("(.*)(" + СтрПоиска + ")(.*)"); 15 | РегВыражение.ИгнорироватьРегистр = Истина; 16 | РегВыражение.Многострочный = Истина; 17 | Совпадения = РегВыражение.НайтиСовпадения(СтрДанные); 18 | 19 | ДанныеСписка.Очистить(); 20 | Для каждого Сп Из Совпадения Цикл 21 | 22 | СпГр = Сп.Группы; 23 | Если СокрЛП(СпГр[1].Значение) <> "" Тогда 24 | ДанныеСписка.Вставить(СокрЛП(СпГр[0].Значение),СокрЛП(СпГр[1].Значение)); 25 | СписокВариантов.СписокВыбора = ДанныеСписка; 26 | КонецЕсли; 27 | 28 | КонецЦикла; 29 | 30 | КонецПроцедуры 31 | 32 | Процедура ПриДвойномКликеСписокВыбора() Экспорт 33 | 34 | Тек = Форма.Элементы.Найти("СписокВариантов"); 35 | ВыбранноеЗначение = Тек.Значение; 36 | 37 | КонецПроцедуры 38 | 39 | 40 | Функция ПолучитьЗначение() Экспорт 41 | 42 | Возврат ВыбранноеЗначение; 43 | 44 | КонецФункции // ПолучитьЗначение() Экспорт 45 | 46 | Процедура ПриОткрытииФормы() Экспорт 47 | 48 | ДанныеСписка = Новый Соответствие; 49 | 50 | ПолеПоиска = Форма.Элементы.Добавить("ПолеПоиска", "ПолеФормы", Неопределено); 51 | ПолеПоиска.Вид = Форма.ВидПоляФормы.ПолеВвода; 52 | ПолеПоиска.Заголовок = ""; 53 | ПолеПоиска.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Верх; 54 | ПолеПоиска.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзмененииПолеПоиска"); 55 | 56 | СписокВариантов = Форма.Элементы.Добавить("СписокВариантов", "ПолеФормы", Неопределено); 57 | СписокВариантов.Вид = Форма.ВидПоляФормы.ПолеСписка; 58 | СписокВариантов.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Заполнение; 59 | СписокВариантов.Заголовок = ""; 60 | СписокВариантов.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриДвойномКликеСписокВыбора"); 61 | СписокВариантов.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКликеСписокВыбора"); 62 | 63 | Форма.ТекущийЭлемент = ПолеПоиска; 64 | 65 | ПриИзмененииПолеПоиска(); 66 | 67 | КонецПроцедуры 68 | 69 | Процедура УстановитьЗначенияДляВыбора(ЗначенияДляВыбора) Экспорт 70 | 71 | Если ТипЗнч(ЗначенияДляВыбора) = Тип("Строка") Тогда 72 | СтрДанные = ЗначенияДляВыбора; 73 | Иначе 74 | ВызватьИсключение "Не верный тип данных для выбора из списка: " + ТипЗнч(ЗначенияДляВыбора); 75 | КонецЕсли; 76 | 77 | КонецПроцедуры 78 | 79 | Процедура Показать() Экспорт 80 | 81 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 82 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 83 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 84 | Форма.Показать(); 85 | 86 | КонецПроцедуры 87 | 88 | Процедура Конструктор() 89 | 90 | ПодключитьВнешнююКомпоненту(КаталогПрограммы() + "\oscript-simple-gui.dll"); 91 | 92 | КонецПроцедуры 93 | 94 | Конструктор(); -------------------------------------------------------------------------------- /change.log: -------------------------------------------------------------------------------- 1 | 1.1.2.3 2 | - Исправлена ошибка в установке значения для полей со списком 3 | - Добавлена возможность отображения заголовка колонки в компонентах представления табличных данных. 4 | 5 | 1.0.1.0 6 | - Изменил нумерацию версий 7 | - Добавил объект ДеревоФормы 8 | 9 | 1.0.6080.3384 10 | 11 | Добавил объект ТабличноеПоле -------------------------------------------------------------------------------- /docs/FileDialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/FileDialog.png -------------------------------------------------------------------------------- /docs/InputNumber.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/InputNumber.png -------------------------------------------------------------------------------- /docs/InputString.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/InputString.png -------------------------------------------------------------------------------- /docs/MessageBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/MessageBox.png -------------------------------------------------------------------------------- /docs/QueryBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/QueryBox.png -------------------------------------------------------------------------------- /docs/example-button-n-edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/example-button-n-edit.gif -------------------------------------------------------------------------------- /docs/example-combobox-change-event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/example-combobox-change-event.png -------------------------------------------------------------------------------- /docs/example-decoration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/example-decoration.png -------------------------------------------------------------------------------- /docs/example-form-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/example-form-table.png -------------------------------------------------------------------------------- /docs/example-form-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/docs/example-form-tree.png -------------------------------------------------------------------------------- /docs/ВидГруппыФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ВидГруппыФормы / FormGroupType 3 | 4 | ## Свойства 5 | 6 | ### ОбычнаяГруппа / UsualGroup 7 | Доступ: Чтение 8 | ### Страница / Page 9 | Доступ: Чтение 10 | ### Страницы / Pages 11 | Доступ: Чтение 12 | ## Методы 13 | -------------------------------------------------------------------------------- /docs/ВидПоляФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ВидПоляФормы / FormFieldType 3 | 4 | 5 | 6 | Вид поля формы 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### ПолеВвода / InputField 14 | Доступ: Чтение 15 | 16 | 17 | Однострочное, текстовое поле 18 | 19 | 20 | 21 | 22 | ### ПолеИндикатора / ProgressBarField 23 | Доступ: Чтение 24 | 25 | 26 | ProgressBar 27 | 28 | 29 | 30 | 31 | ### ПолеКалендаря / CalendarField 32 | Доступ: Чтение 33 | 34 | 35 | Поле для выбора даты/времени 36 | 37 | 38 | 39 | 40 | ### ПолеНадписи / LabelField 41 | Доступ: Чтение 42 | 43 | 44 | Надпись 45 | 46 | 47 | 48 | 49 | ### ПолеФлажка / CheckBoxField 50 | Доступ: Чтение 51 | 52 | 53 | Флажок 54 | 55 | 56 | 57 | 58 | ### ПолеТекстовогоДокумента / TextDocumentField 59 | Доступ: Чтение 60 | 61 | 62 | Многострочный текст 63 | 64 | 65 | 66 | 67 | ### ПолеСоСписком / ComboBox 68 | Доступ: Чтение 69 | 70 | 71 | Поле со списком 72 | 73 | 74 | 75 | 76 | ### ПолеСписка / ListBox 77 | Доступ: Чтение 78 | 79 | 80 | Поле списка 81 | 82 | 83 | 84 | 85 | ## Методы 86 | -------------------------------------------------------------------------------- /docs/ГруппаФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ГруппаФормы / FormGroup 3 | 4 | 5 | 6 | Элемент формы, предназначенный для визуальной и/или логической группировки элементов. 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Родитель / Parent 14 | Доступ: Чтение 15 | 16 | Тип значения: ГруппаФормы, Форма 17 | 18 | 19 | 20 | Содержит ссылку на родительский элемент. 21 | 22 | 23 | 24 | ### Имя / Name 25 | Доступ: Чтение/Запись 26 | 27 | 28 | Имя группы 29 | 30 | 31 | 32 | 33 | ### Видимость / Visible 34 | Доступ: Чтение/Запись 35 | 36 | 37 | Управление видимостью 38 | 39 | 40 | 41 | 42 | ### Доступность / Enabled 43 | Доступ: Чтение/Запись 44 | 45 | 46 | Управление доступностью 47 | 48 | 49 | 50 | 51 | ### Заголовок / Title 52 | Доступ: Чтение/Запись 53 | 54 | 55 | Заголовок к группе. Пустая строка означает автоматическое формирование. 56 | 57 | 58 | 59 | 60 | ### Вид / Type 61 | Доступ: Чтение/Запись 62 | 63 | Тип значения: ВидГруппыФормы 64 | 65 | 66 | 67 | Определяет способ представления группы в форме. 68 | 69 | 70 | 71 | 72 | ### Элементы / Items 73 | Доступ: Чтение 74 | 75 | Тип значения: Элементы 76 | 77 | 78 | 79 | Содержит коллекцию подчиненных элементов группы. 80 | 81 | 82 | 83 | 84 | ### Высота / Height 85 | Доступ: Чтение/Запись 86 | 87 | 88 | Высота 89 | 90 | 91 | 92 | 93 | ### Ширина / Width 94 | Доступ: Чтение/Запись 95 | 96 | 97 | Ширина 98 | 99 | 100 | 101 | 102 | ### АвтоматическийРазмер / AutoSize 103 | Доступ: Чтение/Запись 104 | 105 | 106 | Автоматический размер 107 | 108 | 109 | 110 | 111 | ### Закрепление / Dock 112 | Доступ: Чтение/Запись 113 | 114 | Тип значения: СтильЗакрепления 115 | 116 | 117 | 118 | Вариант закрепления. 119 | 120 | 121 | 122 | ## Методы 123 | 124 | ### УстановитьДействие / SetAction() 125 | 126 | 127 | 128 | Обработка событий не предусмотрена 129 | 130 | 131 | 132 | 133 | ### ПолучитьДействие / GetAction() 134 | 135 | 136 | 137 | Обработка событий не предусмотрена 138 | 139 | 140 | 141 | -------------------------------------------------------------------------------- /docs/ДеревоФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ДеревоФормы / FormTree 3 | 4 | ## Свойства 5 | 6 | ### Имя / Name 7 | Доступ: Чтение/Запись 8 | 9 | 10 | Имя элемента 11 | 12 | 13 | 14 | 15 | ### Видимость / Visible 16 | Доступ: Чтение/Запись 17 | 18 | 19 | Управление видимостью 20 | 21 | 22 | 23 | 24 | ### Доступность / Enabled 25 | Доступ: Чтение/Запись 26 | 27 | 28 | Управление доступностью 29 | 30 | 31 | 32 | 33 | ### Заголовок / Title 34 | Доступ: Чтение/Запись 35 | 36 | 37 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 38 | 39 | 40 | 41 | 42 | ### ПоложениеЗаголовка / TitleLocation 43 | Доступ: Чтение/Запись 44 | 45 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 46 | 47 | 48 | 49 | Определяет положение заголовка относительно поля в макете формы. 50 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 51 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 52 | 53 | 54 | 55 | 56 | ### Родитель / Parent 57 | Доступ: Чтение 58 | 59 | Тип значения: ГруппаФормы, Форма 60 | 61 | 62 | 63 | Содержит ссылку на родительский элемент. 64 | 65 | 66 | 67 | ### Высота / Height 68 | Доступ: Чтение/Запись 69 | 70 | 71 | Высота 72 | 73 | 74 | 75 | 76 | ### Ширина / Width 77 | Доступ: Чтение/Запись 78 | 79 | 80 | Ширина 81 | 82 | 83 | 84 | 85 | ### АвтоматическийРазмер / AutoSize 86 | Доступ: Чтение/Запись 87 | 88 | 89 | Автоматический размер 90 | 91 | 92 | 93 | 94 | ### Закрепление / Dock 95 | Доступ: Чтение/Запись 96 | 97 | Тип значения: СтильЗакрепления 98 | 99 | 100 | 101 | Вариант закрепления. 102 | 103 | 104 | 105 | ### ПутьКДанным / DataPath 106 | Доступ: Чтение/Запись 107 | 108 | 109 | Провайдер с данными. 110 | 111 | 112 | 113 | 114 | ### ТекущаяСтрока / CurrentRow 115 | Доступ: Чтение/Запись 116 | 117 | 118 | Номер текущей строки таблицы. 119 | 120 | 121 | 122 | 123 | ### Колонки / Columns 124 | Доступ: Чтение 125 | 126 | Тип значения: Массив 127 | 128 | 129 | 130 | Колонки таблицы. 131 | 132 | 133 | 134 | 135 | ### ТекущиеДанные / CurrentData 136 | Доступ: Чтение 137 | 138 | Тип значения: СтрокаДереваЗначений 139 | 140 | 141 | 142 | Представляет доступ к текущим данным (данным текущей строки). 143 | 144 | 145 | 146 | 147 | ## Методы 148 | 149 | ### УстановитьДействие / SetAction() 150 | 151 | 152 | 153 | Установить обработчик события 154 | Возможные события: 155 | - ПриВыбореСтроки - Обработка события изменения значения 156 | - ПриВыборе - При нажатии Enter 157 | - ПриДвойномКлике - Обработка двойного клика 158 | 159 | 160 | 161 | 162 | #### Пример: 163 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыбореСтроки", "ПриВыбореСтроки"); 164 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике"); 165 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе"); 166 | 167 | 168 | #### Параметры 169 | 170 | * *contex*: Ссылка на скрипт в котором находится обработчик события 171 | 172 | * *eventName*: Имя обрабатываемого события. 173 | 174 | * *methodName*: Имя метода обработчика события 175 | 176 | ### ПолучитьДействие / GetAction() 177 | 178 | 179 | 180 | Получает имя установленного обработчика события. 181 | 182 | 183 | 184 | 185 | #### Пример: 186 | Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки"); 187 | Форма.ПолучитьДействие("ПриВыборе"); 188 | // вернет: "ПриВыбореЯчейки" 189 | 190 | 191 | #### Параметры 192 | 193 | * *eventName*: Имя события 194 | 195 | #### Возвращаемое значение 196 | 197 | Имя метода обработчика события 198 | 199 | 200 | ### Обновить / Refresh() 201 | 202 | 203 | 204 | Обновляет данные в таблице. 205 | 206 | 207 | 208 | -------------------------------------------------------------------------------- /docs/ДиалогВыбораФайла.md: -------------------------------------------------------------------------------- 1 | 2 | # ДиалогВыбораФайла / FileDialog 3 | 4 | ## Свойства 5 | 6 | ### Заголовок / Title 7 | Доступ: Чтение/Запись 8 | 9 | 10 | Заголовок 11 | 12 | 13 | 14 | 15 | ### Фильтр / Filter 16 | Доступ: Чтение/Запись 17 | 18 | 19 | Фильтр 20 | 21 | 22 | 23 | 24 | ### ПолноеИмяФайла / FullFileName 25 | Доступ: Чтение/Запись 26 | 27 | 28 | Фильтр 29 | 30 | 31 | 32 | 33 | ### Каталог / Directory 34 | Доступ: Чтение/Запись 35 | ### Расширение / DefaultExt 36 | Доступ: Чтение/Запись 37 | ### МножественныйВыбор / Multiselect 38 | Доступ: Чтение/Запись 39 | ### ВыбранныеФайлы / SelectedFiles 40 | Доступ: Чтение 41 | ### Режим / Mode 42 | Доступ: Чтение 43 | ### ИндексФильтра / FilterIndex 44 | Доступ: Чтение/Запись 45 | ### ПредварительныйПросмотр / Preview 46 | Доступ: Чтение/Запись 47 | ### ПроверятьСуществованиеФайла / CheckFileExists 48 | Доступ: Чтение/Запись 49 | ## Методы 50 | 51 | ### Выбрать / Choose() 52 | 53 | 54 | 55 | Открывает окно диалога выбора файла. 56 | 57 | 58 | 59 | 60 | ## Конструкторы 61 | 62 | 63 | ### По умолчанию -------------------------------------------------------------------------------- /docs/Изображения.md: -------------------------------------------------------------------------------- 1 | 2 | # Изображения / Images 3 | 4 | ## Методы 5 | 6 | ### Добавить / Add() 7 | 8 | ### Очистить / Clear() 9 | -------------------------------------------------------------------------------- /docs/КнопкаФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # КнопкаФормы / FormButton 3 | 4 | ## Свойства 5 | 6 | ### Родитель / Parent 7 | Доступ: Чтение 8 | 9 | Тип значения: ГруппаФормы, Форма 10 | 11 | 12 | 13 | Содержит ссылку на родительский элемент. 14 | 15 | 16 | 17 | ### Имя / Name 18 | Доступ: Чтение/Запись 19 | 20 | 21 | Уникальное имя элемента 22 | 23 | 24 | 25 | 26 | ### Видимость / Visible 27 | Доступ: Чтение/Запись 28 | 29 | 30 | Управление видимостью кнопки 31 | 32 | 33 | 34 | 35 | ### Доступность / Enabled 36 | Доступ: Чтение/Запись 37 | 38 | 39 | Управление доступностью 40 | 41 | 42 | 43 | 44 | ### Заголовок / Title 45 | Доступ: Чтение/Запись 46 | 47 | 48 | Надпись на кнопке 49 | 50 | 51 | 52 | 53 | ### Высота / Height 54 | Доступ: Чтение/Запись 55 | 56 | 57 | Высота кнопки 58 | 59 | 60 | 61 | 62 | ### Ширина / Width 63 | Доступ: Чтение/Запись 64 | 65 | 66 | Ширина кнопки 67 | 68 | 69 | 70 | 71 | ### АвтоматическийРазмер / AutoSize 72 | Доступ: Чтение/Запись 73 | 74 | 75 | Автоматический размер 76 | 77 | 78 | 79 | 80 | ### Закрепление / Dock 81 | Доступ: Чтение/Запись 82 | 83 | Тип значения: СтильЗакрепления 84 | 85 | 86 | 87 | Вариант закрепления. 88 | 89 | 90 | 91 | ## Методы 92 | 93 | ### УстановитьДействие / SetAction() 94 | 95 | 96 | 97 | Установить обработчик события. 98 | Возможные события: 99 | - Нажатие - Нажатие на кнопку 100 | 101 | 102 | 103 | 104 | #### Пример: 105 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 106 | 107 | 108 | #### Параметры 109 | 110 | * *contex*: Ссылка на скрипт в котором находится обработчик события 111 | 112 | * *eventName*: Имя обрабатываемого события 113 | 114 | * *methodName*: Имя метода обработчика события 115 | 116 | ### ПолучитьДействие / GetAction() 117 | 118 | 119 | 120 | Получает имя установленного обработчика события. 121 | 122 | 123 | 124 | 125 | #### Пример: 126 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 127 | Форма.ПолучитьДействие("ПриОткрытии"); 128 | // вернет: "ПриОткрытииФормы" 129 | 130 | 131 | #### Параметры 132 | 133 | * *eventName*: Имя события 134 | 135 | #### Возвращаемое значение 136 | 137 | Имя метода обработчика события 138 | 139 | 140 | ### КнопкаНажатие / ButtonClick() 141 | -------------------------------------------------------------------------------- /docs/КолонкаДерева.md: -------------------------------------------------------------------------------- 1 | 2 | # КолонкаДерева / FormTreeColumn 3 | 4 | ## Свойства 5 | 6 | ### Ширина / Width 7 | Доступ: Чтение/Запись 8 | 9 | 10 | Ширина 11 | 12 | 13 | 14 | 15 | ### Заголовок / Title 16 | Доступ: Чтение/Запись 17 | 18 | 19 | Заголовок 20 | 21 | 22 | 23 | 24 | ### Индекс / Index 25 | Доступ: Чтение 26 | 27 | 28 | Номер колонки 29 | 30 | 31 | 32 | 33 | ## Методы 34 | -------------------------------------------------------------------------------- /docs/КолонкаПредставленияСписка.md: -------------------------------------------------------------------------------- 1 | 2 | # КолонкаПредставленияСписка / ListViewColumn 3 | 4 | 5 | 6 | Колонка элемента ПредставлениеСписка 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Ширина / Width 14 | Доступ: Чтение/Запись 15 | 16 | 17 | Ширина 18 | 19 | 20 | 21 | 22 | ### Заголовок / Title 23 | Доступ: Чтение/Запись 24 | 25 | 26 | Заголовок 27 | 28 | 29 | 30 | 31 | ### Индекс / Index 32 | Доступ: Чтение 33 | 34 | 35 | Номер колонки 36 | 37 | 38 | 39 | 40 | ## Методы 41 | -------------------------------------------------------------------------------- /docs/КолонкаТаблицыФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # КолонкаТаблицыФормы / FormTableColumn 3 | 4 | 5 | 6 | Колонка элемента ТаблицаФормы 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Ширина / Width 14 | Доступ: Чтение/Запись 15 | 16 | 17 | Ширина 18 | 19 | 20 | 21 | 22 | ### Видимость / Visible 23 | Доступ: Чтение/Запись 24 | 25 | 26 | Видимость 27 | 28 | 29 | 30 | 31 | ### Заголовок / Title 32 | Доступ: Чтение/Запись 33 | 34 | 35 | Заголовок 36 | 37 | 38 | 39 | 40 | ### Индекс / Index 41 | Доступ: Чтение 42 | 43 | 44 | Номер колонки 45 | 46 | 47 | 48 | 49 | ## Методы 50 | -------------------------------------------------------------------------------- /docs/ПолеФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ПолеФормы / FormField 3 | 4 | 5 | 6 | Предназначен для отображения и редактирования реквизитов формы. 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Значение / Value 14 | Доступ: Чтение/Запись 15 | 16 | Тип значения: Строка, Дата, Число 17 | 18 | 19 | 20 | Значение элемента формы. 21 | 22 | 23 | 24 | 25 | ### Вид / Type 26 | Доступ: Чтение/Запись 27 | 28 | Тип значения: ВидПоляФормы 29 | 30 | 31 | 32 | Определяет способ представления данных реквизита в форме. 33 | 34 | 35 | 36 | 37 | ### Имя / Name 38 | Доступ: Чтение/Запись 39 | 40 | 41 | Имя элемента 42 | 43 | 44 | 45 | 46 | ### Видимость / Visible 47 | Доступ: Чтение/Запись 48 | 49 | 50 | Управление видимостью 51 | 52 | 53 | 54 | 55 | ### Доступность / Enabled 56 | Доступ: Чтение/Запись 57 | 58 | 59 | Управление доступностью 60 | 61 | 62 | 63 | 64 | ### Заголовок / Title 65 | Доступ: Чтение/Запись 66 | 67 | 68 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 69 | 70 | 71 | 72 | 73 | ### ПоложениеЗаголовка / TitleLocation 74 | Доступ: Чтение/Запись 75 | 76 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 77 | 78 | 79 | 80 | Определяет положение заголовка относительно поля в макете формы. 81 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 82 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 83 | 84 | 85 | 86 | 87 | ### СписокВыбора / ChoiceList 88 | Доступ: Чтение/Запись 89 | 90 | Тип значения: Соответствие 91 | 92 | 93 | 94 | Установка / получение списка выбора для ПолеСоСписком, ПолеСписка 95 | 96 | 97 | 98 | 99 | ### Родитель / Parent 100 | Доступ: Чтение 101 | 102 | Тип значения: ГруппаФормы, Форма 103 | 104 | 105 | 106 | Содержит ссылку на родительский элемент. 107 | 108 | 109 | 110 | ### ТолькоПросмотр / ReadOnly 111 | Доступ: Чтение/Запись 112 | 113 | 114 | Содержит признак возможности/невозможности редактирования отображаемых данных. 115 | 116 | 117 | 118 | 119 | ### Высота / Height 120 | Доступ: Чтение/Запись 121 | 122 | 123 | Высота 124 | 125 | 126 | 127 | 128 | ### Ширина / Width 129 | Доступ: Чтение/Запись 130 | 131 | 132 | Ширина 133 | 134 | 135 | 136 | 137 | ### АвтоматическийРазмер / AutoSize 138 | Доступ: Чтение/Запись 139 | 140 | 141 | Автоматический размер 142 | 143 | 144 | 145 | 146 | ### Закрепление / Dock 147 | Доступ: Чтение/Запись 148 | 149 | Тип значения: СтильЗакрепления 150 | 151 | 152 | 153 | Вариант закрепления. 154 | 155 | 156 | 157 | ### КодНажатойКлавиши / KeyCodeDown 158 | Доступ: Чтение 159 | 160 | 161 | Код нажатой клавиши 162 | 163 | 164 | 165 | 166 | ### НажатАльт / AltDown 167 | Доступ: Чтение 168 | 169 | 170 | Нажат альт 171 | 172 | 173 | 174 | 175 | ### НажатКонтрол / CtrlDown 176 | Доступ: Чтение 177 | 178 | 179 | Нажат контрол 180 | 181 | 182 | 183 | 184 | ### НажатШифт / ShiftDown 185 | Доступ: Чтение 186 | 187 | 188 | Нажат шифт 189 | 190 | 191 | 192 | 193 | ## Методы 194 | 195 | ### УстановитьДействие / SetAction() 196 | 197 | 198 | 199 | Установить обработчик события 200 | Возможные события: 201 | - ПриИзменении - Обработка события изменения значения 202 | - ПриВыборе - При нажатии Enter 203 | - ПриДвойномКлике - Обработка двойного клика (Событие только для ListBox) 204 | - ПриНажатииНаКлавишу - При нажатии клавиши (KeyDown) 205 | 206 | 207 | 208 | 209 | #### Пример: 210 | ПолеФормы1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзмененииПолеФормы1"); 211 | 212 | 213 | #### Параметры 214 | 215 | * *contex*: Ссылка на скрипт в котором находится обработчик события 216 | 217 | * *eventName*: Имя обрабатываемого события. 218 | 219 | * *methodName*: Имя метода обработчика события 220 | 221 | ### ПолучитьДействие / GetAction() 222 | 223 | 224 | 225 | Получает имя установленного обработчика события. 226 | 227 | 228 | 229 | 230 | #### Пример: 231 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 232 | Форма.ПолучитьДействие("ПриОткрытии"); 233 | // вернет: "ПриОткрытииФормы" 234 | 235 | 236 | #### Параметры 237 | 238 | * *eventName*: Имя события 239 | 240 | #### Возвращаемое значение 241 | 242 | Имя метода обработчика события 243 | 244 | -------------------------------------------------------------------------------- /docs/ПоложениеЗаголовкаЭлементаФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ПоложениеЗаголовкаЭлементаФормы / FormItemTitleLocation 3 | 4 | ## Свойства 5 | 6 | ### Авто / Auto 7 | Доступ: Чтение 8 | ### Верх / Top 9 | Доступ: Чтение 10 | ### Лево / Left 11 | Доступ: Чтение 12 | ### Нет / None 13 | Доступ: Чтение 14 | ### Низ / Bottom 15 | Доступ: Чтение 16 | ### Право / Right 17 | Доступ: Чтение 18 | ## Методы 19 | -------------------------------------------------------------------------------- /docs/Представление.md: -------------------------------------------------------------------------------- 1 | 2 | # Представление / View 3 | 4 | ## Свойства 5 | 6 | ### БольшиеЗначки / LargeIcon 7 | Доступ: Чтение 8 | ### Таблица / Details 9 | Доступ: Чтение 10 | ### МаленькиеЗначки / SmallIcon 11 | Доступ: Чтение 12 | ### Список / List 13 | Доступ: Чтение 14 | ### Плитка / Tile 15 | Доступ: Чтение 16 | ## Методы 17 | -------------------------------------------------------------------------------- /docs/Провайдер.md: -------------------------------------------------------------------------------- 1 | 2 | # Провайдер / Provider 3 | 4 | 5 | 6 | Провайдер для данных ТаблицаФормы. Пока что поддерживается только ТаблицаЗначений. 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Источник / Source 14 | Доступ: Чтение/Запись 15 | 16 | 17 | Данные для отображения. 18 | 19 | 20 | 21 | 22 | ### ИсточникДерево / SourceTree 23 | Доступ: Чтение/Запись 24 | 25 | 26 | Данные для отображения. 27 | 28 | 29 | 30 | 31 | ## Методы 32 | 33 | ## Конструкторы 34 | 35 | 36 | ### По умолчанию -------------------------------------------------------------------------------- /docs/СтандартныеДиалоги.md: -------------------------------------------------------------------------------- 1 | 2 | # СтандартныеДиалоги / StandardDialogs 3 | 4 | ## Методы 5 | 6 | ### Предупреждение / DoMessageBox() 7 | 8 | 9 | 10 | Отображает диалог с предупреждением. 11 | 12 | 13 | 14 | 15 | #### Параметры 16 | 17 | * *messageText*: Текст предупреждения. 18 | 19 | * *timeOut*: Таймаут. 20 | 21 | * *title*: Заголовок. 22 | 23 | ### Вопрос / DoQueryBox() 24 | 25 | ### ВвестиЧисло / InputNumber() 26 | 27 | 28 | 29 | 30 | Вызывает диалог для ввода числа. 31 | 32 | 33 | 34 | 35 | #### Параметры 36 | 37 | * *Number*: Имя доступной в модуле переменной. В эту переменную будет помещено введенное число. Начальное значение переменной будет использовано в качестве начального значения в диалоге. 38 | 39 | * *Tooltip*: Текст заголовка окна диалога ввода числа. Может использоваться в качестве подсказки пользователю. 40 | Значение по умолчанию: Пустая строка. 41 | 42 | * *Length*: Длина вводимого числа включая дробную часть (символы разделителей не учитываются). 43 | Значение по умолчанию: 0. 44 | 45 | * *Precision*: Количество знаков в дробной части вводимого числа. 46 | Значение по умолчанию: 0. 47 | 48 | #### Возвращаемое значение 49 | 50 | Значения данного типа имеют два значения Истина и Ложь, задаваемых соответствующими литералами. 51 | Значения данного типа возвращаются в качестве результата вычисления логических выражений. 52 | 53 | 54 | ### ВвестиСтроку / InputString() 55 | 56 | 57 | 58 | Вызывает диалог для ввода строки. 59 | 60 | 61 | 62 | 63 | #### Параметры 64 | 65 | * *String*: Доступная в модуле переменная. В эту переменную будет помещена введенная в диалоге строка. Начальное значение переменной будет использовано в качестве начального значения в диалоге. 66 | 67 | * *Tooltip*: Текст заголовка окна диалога ввода строки. Может использоваться в качестве подсказки пользователю. 68 | Значение по умолчанию: Пустая строка. 69 | 70 | * *Length*: Длина вводимой строки. Если параметр не указан, то строка неограниченной длины. 71 | Значение по умолчанию: 0. 72 | 73 | * *Multiline*: Определяет режим ввода многострочного текста: Истина - ввод многострочного текста с разделителями строк; Ложь - ввод простой строки. 74 | Значение по умолчанию: Ложь. 75 | 76 | #### Возвращаемое значение 77 | 78 | Значения данного типа имеют два значения Истина и Ложь, задаваемых соответствующими литералами. 79 | Значения данного типа возвращаются в качестве результата вычисления логических выражений. 80 | 81 | -------------------------------------------------------------------------------- /docs/СтильЗакрепления.md: -------------------------------------------------------------------------------- 1 | 2 | # СтильЗакрепления / DockStyle 3 | 4 | ## Свойства 5 | 6 | ### Нет / None 7 | Доступ: Чтение 8 | ### Верх / Top 9 | Доступ: Чтение 10 | ### Низ / Bottom 11 | Доступ: Чтение 12 | ### Лево / Left 13 | Доступ: Чтение 14 | ### Право / Right 15 | Доступ: Чтение 16 | ### Заполнение / Fill 17 | Доступ: Чтение 18 | ## Методы 19 | -------------------------------------------------------------------------------- /docs/ТаблицаФормы.md: -------------------------------------------------------------------------------- 1 | 2 | # ТаблицаФормы / FormTable 3 | 4 | 5 | 6 | Элемент управляемой формы, предназначенный для отображения реквизитов формы табличных типов. 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Имя / Name 14 | Доступ: Чтение/Запись 15 | 16 | 17 | Имя элемента 18 | 19 | 20 | 21 | 22 | ### Видимость / Visible 23 | Доступ: Чтение/Запись 24 | 25 | 26 | Управление видимостью 27 | 28 | 29 | 30 | 31 | ### Доступность / Enabled 32 | Доступ: Чтение/Запись 33 | 34 | 35 | Управление доступностью 36 | 37 | 38 | 39 | 40 | ### Заголовок / Title 41 | Доступ: Чтение/Запись 42 | 43 | 44 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 45 | 46 | 47 | 48 | 49 | ### ПоложениеЗаголовка / TitleLocation 50 | Доступ: Чтение/Запись 51 | 52 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 53 | 54 | 55 | 56 | Определяет положение заголовка относительно поля в макете формы. 57 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 58 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 59 | 60 | 61 | 62 | 63 | ### Родитель / Parent 64 | Доступ: Чтение 65 | 66 | Тип значения: ГруппаФормы, Форма 67 | 68 | 69 | 70 | Содержит ссылку на родительский элемент. 71 | 72 | 73 | 74 | ### Высота / Height 75 | Доступ: Чтение/Запись 76 | 77 | 78 | Высота 79 | 80 | 81 | 82 | 83 | ### Ширина / Width 84 | Доступ: Чтение/Запись 85 | 86 | 87 | Ширина 88 | 89 | 90 | 91 | 92 | ### АвтоматическийРазмер / AutoSize 93 | Доступ: Чтение/Запись 94 | 95 | 96 | Автоматический размер 97 | 98 | 99 | 100 | 101 | ### Закрепление / Dock 102 | Доступ: Чтение/Запись 103 | 104 | Тип значения: СтильЗакрепления 105 | 106 | 107 | 108 | Вариант закрепления. 109 | 110 | 111 | 112 | ### ПутьКДанным / DataPath 113 | Доступ: Чтение/Запись 114 | 115 | 116 | Провайдер с данными. 117 | 118 | 119 | 120 | 121 | ### ВыделенныеСтроки / SelectedRows 122 | Доступ: Чтение 123 | 124 | Тип значения: ArrayImpl 125 | 126 | 127 | 128 | Содержит массив номеров выделенных строк. 129 | 130 | 131 | 132 | 133 | ### ТекущаяСтрока / CurrentRow 134 | Доступ: Чтение/Запись 135 | 136 | 137 | Номер текущей строки таблицы. 138 | 139 | 140 | 141 | 142 | ### ТекущиеДанные / CurrentData 143 | Доступ: Чтение 144 | 145 | 146 | Представляет доступ к текущим данным (данным текущей строки). 147 | 148 | 149 | 150 | 151 | ### Колонки / Columns 152 | Доступ: Чтение 153 | 154 | Тип значения: Массив 155 | 156 | 157 | 158 | Колонки таблицы. 159 | 160 | 161 | 162 | 163 | ### ТекущийЭлемент / CurrentItem 164 | Доступ: Чтение 165 | 166 | 167 | Текущее поле в таблице. 168 | 169 | 170 | 171 | 172 | ## Методы 173 | 174 | ### УстановитьДействие / SetAction() 175 | 176 | 177 | 178 | Установить обработчик события 179 | Возможные события: 180 | - ПриПотереФокусаЯчейки - Обработка события изменения значения 181 | - ПриВыборе - При нажатии Enter 182 | - ПриДвойномКлике - Обработка двойного клика 183 | 184 | 185 | 186 | 187 | #### Пример: 188 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриПотереФокусаЯчейки", "ПриПотереФокусаЯчейки"); 189 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике"); 190 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе"); 191 | 192 | 193 | #### Параметры 194 | 195 | * *contex*: Ссылка на скрипт в котором находится обработчик события 196 | 197 | * *eventName*: Имя обрабатываемого события. 198 | 199 | * *methodName*: Имя метода обработчика события 200 | 201 | ### ПолучитьДействие / GetAction() 202 | 203 | 204 | 205 | Получает имя установленного обработчика события. 206 | 207 | 208 | 209 | 210 | #### Пример: 211 | Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки"); 212 | Форма.ПолучитьДействие("ПриВыборе"); 213 | // вернет: "ПриВыбореЯчейки" 214 | 215 | 216 | #### Параметры 217 | 218 | * *eventName*: Имя события 219 | 220 | #### Возвращаемое значение 221 | 222 | Имя метода обработчика события 223 | 224 | 225 | ### Обновить / Refresh() 226 | 227 | 228 | 229 | Обновляет данные в таблице. 230 | 231 | 232 | 233 | -------------------------------------------------------------------------------- /docs/УведомлениеВТрее.md: -------------------------------------------------------------------------------- 1 | 2 | # УведомлениеВТрее / NotifyInTray 3 | 4 | ## Свойства 5 | 6 | ### Заголовок / Title 7 | Доступ: Чтение/Запись 8 | 9 | 10 | Заголовок уведомления 11 | 12 | 13 | 14 | 15 | ### Текст / Text 16 | Доступ: Чтение/Запись 17 | 18 | 19 | Текст уведомления в трее 20 | 21 | 22 | 23 | 24 | ### Таймаут / Timeout 25 | Доступ: Чтение/Запись 26 | 27 | 28 | Срок отображения сообщения в трее. Время в секундах. 29 | 30 | 31 | 32 | 33 | ### Иконка / Icon 34 | Доступ: Чтение/Запись 35 | 36 | 37 | Иконка в трее, если не указана - берется по умолчанию из ресурсов. Можно указать путь к файлу со своей иконкой. 38 | 39 | 40 | 41 | 42 | ## Методы 43 | 44 | ### Показать / Show() 45 | 46 | 47 | 48 | Показывает уведомление в трее 49 | 50 | 51 | 52 | 53 | ## Конструкторы 54 | 55 | 56 | ### По умолчанию -------------------------------------------------------------------------------- /docs/УправляемыйИнтерфейс.md: -------------------------------------------------------------------------------- 1 | 2 | # УправляемыйИнтерфейс / ManagedInterface 3 | 4 | 5 | 6 | Фабрика для работы с формами 7 | 8 | 9 | 10 | 11 | ## Свойства 12 | 13 | ### Версия / Version 14 | Доступ: Чтение 15 | 16 | 17 | Номер версии библиотеки 18 | 19 | 20 | 21 | 22 | ### СтильЗакрепления / DockStyle 23 | Доступ: Чтение 24 | 25 | Тип значения: СтильЗакрепления 26 | 27 | 28 | 29 | Системное перечисление. Вариант закрепления. 30 | 31 | 32 | 33 | ### ВидПоляФормы / FormFieldType 34 | Доступ: Чтение 35 | 36 | Тип значения: ВидПоляФормы 37 | 38 | 39 | 40 | Системное перечисление. 41 | 42 | 43 | 44 | 45 | ### ВидГруппыФормы / FormGroupType 46 | Доступ: Чтение 47 | 48 | Тип значения: ВидГруппыФормы 49 | 50 | 51 | 52 | Системное перечисление. 53 | 54 | 55 | 56 | 57 | ### ПоложениеЗаголовка / TitleLocation 58 | Доступ: Чтение 59 | 60 | Тип значения: ПоложениеЗаголовка 61 | 62 | 63 | 64 | Системное перечисление. 65 | 66 | 67 | 68 | 69 | ### СтандартныеДиалоги / StandardDialogs 70 | Доступ: Чтение 71 | 72 | Тип значения: ПоложениеЗаголовка 73 | 74 | 75 | 76 | Системное перечисление. 77 | 78 | 79 | 80 | 81 | ## Методы 82 | 83 | ### СоздатьФорму / CreateForm() 84 | 85 | 86 | 87 | Создать форму 88 | 89 | 90 | 91 | 92 | #### Возвращаемое значение 93 | 94 | УправляемаяФорма 95 | 96 | 97 | ## Конструкторы 98 | 99 | 100 | ### По умолчанию -------------------------------------------------------------------------------- /docs/Элементы.md: -------------------------------------------------------------------------------- 1 | 2 | # Элементы / Elements 3 | 4 | 5 | 6 | Содержит коллекцию подчиненных элементов. 7 | 8 | 9 | 10 | 11 | ## Методы 12 | 13 | ### Количество / Count() 14 | 15 | 16 | 17 | Получает количество элементов коллекции. 18 | 19 | 20 | 21 | 22 | #### Возвращаемое значение 23 | 24 | ### Найти / Find() 25 | 26 | 27 | 28 | Осуществляет поиск элемента управления с заданным именем. 29 | 30 | 31 | 32 | 33 | ### Удалить / Delete() 34 | 35 | 36 | 37 | Удаляет элемент из коллекции. 38 | 39 | 40 | 41 | 42 | #### Параметры 43 | 44 | * *Element*: , 45 | , 46 | Удаляемый элемент. 47 | 48 | ### Переместить / Move() 49 | 50 | 51 | 52 | Перемещает элемент коллекции. 53 | 54 | 55 | 56 | 57 | #### Параметры 58 | 59 | * *Element*: Перемещаемый элемент. 60 | 61 | * *ParentElement*: Новый родитель элемента. Может совпадать со старым. 62 | 63 | * *BeforeElement*: Элемент, перед которым нужно разместить перемещаемый элемент. Если не задан, то перемещается в конец коллекции. 64 | 65 | ### Добавить / Add() 66 | 67 | 68 | 69 | Вставляет элемент в коллекцию элементов. 70 | 71 | 72 | 73 | 74 | #### Параметры 75 | 76 | * *ElementName*: Уникальное имя добавляемого элемента. 77 | 78 | * *ElementType*: Тип добавляемого элемента. 79 | 80 | * *ElementParent*: Родитель для добавляемого элемента. Если не указан, то вставляется на верхний уровень. 81 | 82 | #### Возвращаемое значение 83 | 84 | Ссылка на созданый элемент 85 | , 86 | , 87 | 88 | -------------------------------------------------------------------------------- /drafts/groups.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | Перем Форма; 3 | Перем УправляемыйИнтерфейс; 4 | 5 | Процедура Инициализация() 6 | 7 | //# Загружаем внешнюю компоненту 8 | // ПодключитьВнешнююКомпоненту(ОбъединитьПути(КаталогПрограммы(), "oscript-simple-gui.dll")); 9 | 10 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 11 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 12 | 13 | //# Устанавливаем обработку события ПриОткрытии 14 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 15 | Форма.Показать(); 16 | 17 | КонецПроцедуры 18 | 19 | //# Обработка события первого открытия формы 20 | Процедура ПриОткрытииФормы() Экспорт 21 | 22 | Группа1 = Форма.Элементы.Добавить("ОбычнаяГруппа1", "ГруппаФормы", Неопределено); 23 | Группа1.Вид = Форма.ВидГруппыФормы.ОбычнаяГруппа; 24 | Группа1.Заголовок = "Группа1"; 25 | 26 | ПолеВвода1 = Форма.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Группа1); 27 | ПолеВвода1.Вид = Форма.ВидПоляФормы.ПолеВвода; 28 | ПолеВвода1.Заголовок = "Поле ввода"; 29 | ПолеВвода1.Значение = "Значение задано из скрипта"; 30 | ПолеВвода1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Лево; 31 | 32 | ПолеВвода2 = Форма.Элементы.Добавить("ПолеВвода2", "ПолеФормы", Группа1); 33 | ПолеВвода2.Вид = Форма.ВидПоляФормы.ПолеВвода; 34 | ПолеВвода2.Заголовок = "Поле ввода 2"; 35 | ПолеВвода2.Значение = "Значение задано из скрипта"; 36 | // ПолеВвода2.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Лево; 37 | 38 | Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Группа1); 39 | Кнопка1.Заголовок = "Нажми меня"; 40 | // Кнопка1.Закрепление = УправляемыйИнтерфейс.СтильЗакрепления.Лево; 41 | 42 | 43 | 44 | КонецПроцедуры 45 | 46 | 47 | Инициализация(); -------------------------------------------------------------------------------- /drafts/test.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем ПолеВвода1; 4 | 5 | 6 | Процедура ПриОткрытииФормы() Экспорт 7 | // ТестФорма.Закрыть(); 8 | КонецПроцедуры 9 | 10 | Процедура ПриНажатииНаКнопку() Экспорт 11 | если ПолеВвода1.НажатАльт тогда 12 | Сообщить("Альт нажат!"); 13 | КонецЕсли; 14 | Сообщить("Нажали: " + ПолеВвода1.КодНажатойКлавиши); 15 | КонецПроцедуры 16 | 17 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 18 | ТестФорма1 = УправляемыйИнтерфейс.СоздатьФорму(); 19 | ТестФорма1.СтартоваяПозиция = ПозицияОкнаПриОткрытии.ЦентрЭкрана; 20 | // ТестФорма1.Верх = 100; 21 | // ТестФорма1.Лево = 450; 22 | ТестФорма1.Иконка = "c:\Users\ushakov\Downloads\gconfeditor.ico"; 23 | Сообщить(ТестФорма1.Иконка); 24 | 25 | ТестФорма1.СостояниеОкна = СостояниеОкна.Обычное; 26 | 27 | ПолеВвода1 = ТестФорма1.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено); 28 | ПолеВвода1.Вид = ТестФорма1.ВидПоляФормы.ПолеВвода; 29 | ПолеВвода1.Заголовок = "Поле ввода"; 30 | ПолеВвода1.Значение = "Значение задано из скрипта"; 31 | 32 | ПолеВвода1.УстановитьДействие(ЭтотОбъект, "ПриНажатииНаКнопку", "ПриНажатииНаКнопку"); 33 | 34 | // ТестФорма1.ПоверхОкон = Истина; 35 | // Форма = ТестФорма1; 36 | 37 | // ВидыПоляФормы = ТестФорма1.ВидПоляФормы; 38 | // ЭлементыФормы = ТестФорма1 .Элементы; 39 | // ПоложениеЗаголовка = ТестФорма1.ПоложениеЗаголовка; 40 | 41 | // ТекстовоеПоле3 = ЭлементыФормы.Добавить("Флажок1", "ПолеФормы", ТестФорма1); 42 | // ТекстовоеПоле3.Заголовок = "флажок:"; 43 | // ТекстовоеПоле3.Вид = ВидыПоляФормы.ПолеФлажка ; 44 | // ТекстовоеПоле3.Значение = Истина; 45 | // ТекстовоеПоле3.ПоложениеЗаголовка = ПоложениеЗаголовка.верх; 46 | 47 | 48 | // ЭлементПолеФлажкаКэш = Форма.Элементы.Добавить("ЭлементПолеФлажкаКэш", "ПолеФормы", Форма); 49 | // ЭлементПолеФлажкаКэш.Заголовок = "Очистить кэш"; 50 | // ЭлементПолеФлажкаКэш.Вид = Форма.ВидПоляФормы.ПолеФлажка; 51 | // ЭлементПолеФлажкаКэш.ПоложениеЗаголовка = ПоложениеЗаголовка.Право; 52 | 53 | // ТестФорма1.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 54 | 55 | ТестФорма1.Показать(); 56 | 57 | 58 | // Перем Форма; 59 | 60 | // Процедура ПолучитьФорму() 61 | // УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 62 | // Форма = УправляемыйИнтерфейс.СоздатьФорму(); 63 | // Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 64 | // КонецПроцедуры 65 | 66 | // Процедура Инициализация() 67 | // ПолучитьФорму(); 68 | // КонецПроцедуры 69 | 70 | // Процедура ПриОткрытииФормы() Экспорт 71 | // Сообщить("Открыли форму"); 72 | // КонецПроцедуры 73 | 74 | // Процедура ПоказатьФорму() 75 | // Форма.Показать(); 76 | // КонецПроцедуры 77 | 78 | // Инициализация(); 79 | // ПоказатьФорму(); -------------------------------------------------------------------------------- /drafts/test1.os: -------------------------------------------------------------------------------- 1 | #Использовать ParserV8i 2 | 3 | Процедура ВывестиИнформацию(СписокБаз) 4 | Для каждого База Из СписокБаз Цикл 5 | СтруктураАдреса = База.Значение; 6 | 7 | Сообщить(База.Ключ); 8 | //Сообщить(СтруктураАдреса.Name); 9 | Для каждого Часть Из СтруктураАдреса Цикл 10 | //Сообщить(" " + Часть.Ключ + " = " + Часть.Значение); 11 | // Если Часть.Ключ = "Connect" Тогда 12 | // Сообщить(" " + Часть.Ключ + " = " + Часть.Значение.String); 13 | // Для каждого ЧастьПути Из Часть.Значение.Structure Цикл 14 | // Сообщить(" " + ЧастьПути.Ключ + " = " + ЧастьПути.Значение); 15 | // КонецЦикла; 16 | // КонецЕсли; 17 | КонецЦикла; 18 | КонецЦикла; 19 | КонецПроцедуры 20 | 21 | Парсер = Новый ПарсерСпискаБаз; 22 | 23 | 24 | Сообщить("Вывод основного файла"); 25 | //Парсер.УстановитьФайл("c:\Users\ushakov\Downloads\ibases.v8i"); 26 | Парсер.УстановитьФайл("c:\Users\ushakov\Documents\github\parserV8i\examples\ibases.v8i"); 27 | СписокБаз = Парсер.ПолучитьСписокБаз(); 28 | ВывестиИнформацию(СписокБаз); 29 | 30 | // Сообщить("---------------------------------"); 31 | // Сообщить("Вывод явно указанного файла"); 32 | // Парсер.УстановитьФайл("examples/ibases.v8i"); 33 | // СписокБаз = Парсер.ПолучитьСписокБаз(); 34 | // ВывестиИнформацию(СписокБаз); 35 | 36 | 37 | 38 | // #Использовать asserts 39 | // #Использовать gui 40 | 41 | // Перем Структура1; 42 | 43 | // Функция ПолучитьСписокТестов(Тестирование) Экспорт 44 | // СписокТестов = Новый Массив; 45 | // СписокТестов.Добавить("Тест_Должен_ВернутьКоличествоЭлементовНоль"); 46 | // Возврат СписокТестов; 47 | // КонецФункции 48 | 49 | // Процедура ПолучитьСтруктуру1() Экспорт 50 | // Структура1 = Новый Структура; 51 | // КонецПроцедуры 52 | 53 | // Процедура Тест_Должен_ВернутьКоличествоЭлементовНоль() Экспорт 54 | // ПолучитьСтруктуру1(); 55 | // Структура1.Вставить("Данные",1); 56 | // Ожидаем.Что(Структура1.Количество()).Равно(1); 57 | // КонецПроцедуры -------------------------------------------------------------------------------- /drafts/СистемныеДиалоги.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | УИ = Новый УправляемыйИнтерфейс(); 4 | СДиалоги = УИ.СтандартныеДиалоги; 5 | 6 | Ответ = СДиалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 10, КодВозвратаДиалога.Нет , "Заголовок", КодВозвратаДиалога.Нет); 7 | 8 | 9 | Сообщить(Ответ); -------------------------------------------------------------------------------- /examples/example-button-n-edit.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем Форма; 4 | 5 | Процедура Инициализация() 6 | 7 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 8 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 9 | 10 | //# Устанавливаем обработку события ПриОткрытии 11 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 12 | Форма.Показать(); 13 | 14 | КонецПроцедуры 15 | 16 | //# Обработка события первого открытия формы 17 | Процедура ПриОткрытииФормы() Экспорт 18 | 19 | ПолеВвода1 = Форма.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено); 20 | ПолеВвода1.Вид = Форма.ВидПоляФормы.ПолеВвода; 21 | ПолеВвода1.Заголовок = "Поле ввода"; 22 | ПолеВвода1.Значение = "Значение задано из скрипта"; 23 | 24 | Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено); 25 | Кнопка1.Заголовок = "Нажми меня"; 26 | Кнопка1.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопку1"); 27 | 28 | КонецПроцедуры 29 | 30 | Процедура ПриНажатииНаКнопку1() Экспорт 31 | Форма.Элементы.Найти("ПолеВвода1").Значение = "Значение после нажатия на кнопку"; 32 | КонецПроцедуры 33 | 34 | Инициализация(); -------------------------------------------------------------------------------- /examples/example-combobox-change-event.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | Перем Форма; 3 | 4 | Процедура Инициализация() 5 | 6 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 7 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 8 | 9 | //# Устанавливаем обработку события ПриОткрытии 10 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 11 | Форма.Показать(); 12 | 13 | КонецПроцедуры 14 | 15 | //# Обработка события первого открытия формы 16 | Процедура ПриОткрытииФормы() Экспорт 17 | 18 | Данные = Новый Соответствие; 19 | Данные.Вставить("1", "Один"); 20 | Данные.Вставить("2", "Два"); 21 | Данные.Вставить("3", "Три"); 22 | 23 | ПолеСоСписком1 = Форма.Элементы.Добавить("ПолеСоСписком1", "ПолеФормы", Неопределено); 24 | ПолеСоСписком1.Заголовок = "Поле со списком"; 25 | ПолеСоСписком1.Вид = Форма.ВидПоляФормы.ПолеСоСписком; 26 | ПолеСоСписком1.СписокВыбора = Данные; 27 | ПолеСоСписком1.Значение = "3"; 28 | ПолеСоСписком1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 29 | 30 | Форма.Высота = 80; 31 | 32 | КонецПроцедуры 33 | 34 | Процедура ПриИзменииЗначения() Экспорт 35 | Сообщить("Новое значение: " + Форма.Элементы.Найти("ПолеСоСписком1").Значение); 36 | КонецПроцедуры 37 | 38 | Инициализация(); -------------------------------------------------------------------------------- /examples/example-decoration.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем Форма; 4 | 5 | Процедура Инициализация() 6 | 7 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 8 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 9 | 10 | //# Устанавливаем обработку события ПриОткрытии 11 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 12 | Форма.Показать(); 13 | 14 | КонецПроцедуры 15 | 16 | //# Обработка события первого открытия формы 17 | Процедура ПриОткрытииФормы() Экспорт 18 | 19 | Декорация1 = Форма.Элементы.Добавить("Декорация1", "ПолеФормы", Неопределено); 20 | Декорация1.Вид = Форма.ВидПоляФормы.ПолеНадписи; 21 | Декорация1.Заголовок = "Это действительно работает!"; 22 | 23 | Форма.Высота = 100; 24 | 25 | КонецПроцедуры 26 | 27 | Инициализация(); -------------------------------------------------------------------------------- /examples/example-win-state-key-down.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем ПолеВвода1; 4 | 5 | Процедура ПриНажатииНаКнопку() Экспорт 6 | если ПолеВвода1.НажатАльт тогда 7 | Сообщить("Альт нажат!"); 8 | КонецЕсли; 9 | Сообщить("Нажали: " + ПолеВвода1.КодНажатойКлавиши); 10 | КонецПроцедуры 11 | 12 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 13 | ТестФорма1 = УправляемыйИнтерфейс.СоздатьФорму(); 14 | ТестФорма1.СтартоваяПозиция = ПозицияОкнаПриОткрытии.Ручное; 15 | ТестФорма1.Верх = 100; 16 | ТестФорма1.Лево = 450; 17 | ТестФорма1.Иконка = "c:\Users\ushakov\Downloads\gconfeditor.ico"; 18 | Сообщить(ТестФорма1.Иконка); 19 | 20 | ТестФорма1.СостояниеОкна = СостояниеОкна.Обычное; 21 | 22 | ПолеВвода1 = ТестФорма1.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено); 23 | ПолеВвода1.Вид = ТестФорма1.ВидПоляФормы.ПолеВвода; 24 | ПолеВвода1.Заголовок = "Поле ввода"; 25 | ПолеВвода1.Значение = "Значение задано из скрипта"; 26 | 27 | ПолеВвода1.УстановитьДействие(ЭтотОбъект, "ПриНажатииНаКнопку", "ПриНажатииНаКнопку"); 28 | 29 | ТестФорма1.Показать(); 30 | -------------------------------------------------------------------------------- /fixtures/fileroller.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/fixtures/fileroller.ico -------------------------------------------------------------------------------- /fixtures/green-folder.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/fixtures/green-folder.ico -------------------------------------------------------------------------------- /oscript-component/DataTableProvider.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.HostedScript.Library.ValueTable; 2 | using ScriptEngine.HostedScript.Library.ValueTree; 3 | using ScriptEngine.Machine; 4 | using ScriptEngine.Machine.Contexts; 5 | using System.Data; 6 | 7 | namespace oscriptGUI 8 | { 9 | /// 10 | /// Провайдер для данных ТаблицаФормы. Пока что поддерживается только ТаблицаЗначений. 11 | /// 12 | [ContextClass("Провайдер", "Provider")] 13 | public class DataTableProvider : AutoContext 14 | { 15 | private ValueTable _valueTable; 16 | private DataTable _dataTable; 17 | private ValueTree _valueTree; 18 | 19 | [ScriptConstructor] 20 | public static IRuntimeContextInstance Constructor() 21 | { 22 | return new DataTableProvider(); 23 | } 24 | 25 | public DataTableProvider() 26 | { 27 | _valueTable = new ValueTable(); 28 | _dataTable = new DataTable(); 29 | _valueTree = new ValueTree(); 30 | } 31 | 32 | public DataTable getData() 33 | { 34 | return _dataTable; 35 | } 36 | 37 | private void setProviderValueTable() 38 | { 39 | _dataTable.Clear(); 40 | _dataTable.Columns.Clear(); 41 | 42 | foreach (ValueTableColumn VTCol in _valueTable.Columns) 43 | { 44 | var columnAdded = _dataTable.Columns.Add(VTCol.Name); 45 | columnAdded.Caption = VTCol.Title == string.Empty ? VTCol.Name : VTCol.Title; 46 | } 47 | 48 | DataRow row; 49 | foreach (ValueTableRow VTRow in _valueTable) 50 | { 51 | row = _dataTable.NewRow(); 52 | foreach (ValueTableColumn VTCol in _valueTable.Columns) 53 | { 54 | row[VTCol.Name] = VTRow.Get(VTCol); 55 | } 56 | _dataTable.Rows.Add(row); 57 | } 58 | } 59 | 60 | public void Refresh() 61 | { 62 | setProviderValueTable(); 63 | } 64 | 65 | /// 66 | /// Данные для отображения. 67 | /// 68 | [ContextProperty("Источник", "Source")] 69 | public ValueTable Source 70 | { 71 | get { return _valueTable; } 72 | set { _valueTable = value; setProviderValueTable(); } 73 | } 74 | 75 | /// 76 | /// Данные для отображения. 77 | /// 78 | [ContextProperty("ИсточникДерево", "SourceTree")] 79 | public ValueTree SourceTree 80 | { 81 | get { return _valueTree; } 82 | set { _valueTree = value; } 83 | } 84 | 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /oscript-component/DialogReturnCodeEnum.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.HostedScript; 2 | using ScriptEngine.Machine; 3 | using ScriptEngine.Machine.Contexts; 4 | 5 | namespace oscriptGUI 6 | { 7 | [SystemEnum("КодВозвратаДиалога", "DialogReturnCode")] 8 | public class DialogReturnCodeEnum : EnumerationContext 9 | { 10 | private DialogReturnCodeEnum(TypeDescriptor typeRepresentation, TypeDescriptor valuesType) 11 | : base(typeRepresentation, valuesType) 12 | { 13 | 14 | } 15 | 16 | public static DialogReturnCodeEnum CreateInstance() 17 | { 18 | DialogReturnCodeEnum instance; 19 | var type = TypeManager.RegisterType("ПеречислениеКодВозвратаДиалога", typeof(DialogReturnCodeEnum)); 20 | var enumValueType = TypeManager.RegisterType("КодВозвратаДиалога", typeof(CLREnumValueWrapper)); 21 | 22 | instance = new DialogReturnCodeEnum(type, enumValueType); 23 | 24 | instance.AddValue("Да", "Yes", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Yes)); 25 | instance.AddValue("Нет", "No", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.No)); 26 | instance.AddValue("ОК", "OK", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.OK)); 27 | instance.AddValue("Отмена", "Cancel", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Cancel)); 28 | instance.AddValue("Повторить", "Retry", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Retry)); 29 | instance.AddValue("Прервать", "Abort", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Abort)); 30 | instance.AddValue("Пропустить", "Ignore", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Ignore)); 31 | instance.AddValue("Таймаут", "Timeout", new CLREnumValueWrapper(instance, InnerDialogReturnCodeEnum.Timeout)); 32 | 33 | return instance; 34 | } 35 | } 36 | 37 | public enum InnerDialogReturnCodeEnum 38 | { 39 | Yes, 40 | No, 41 | OK, 42 | Cancel, 43 | Retry, 44 | Abort, 45 | Ignore, 46 | Timeout 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /oscript-component/FileDialogMode.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.HostedScript; 2 | using ScriptEngine.Machine; 3 | using ScriptEngine.Machine.Contexts; 4 | 5 | namespace oscriptGUI 6 | { 7 | [SystemEnum("РежимДиалогаВыбораФайла", "FileDialogMode")] 8 | public class FileDialogModeEnum : EnumerationContext 9 | { 10 | private FileDialogModeEnum(TypeDescriptor typeRepresentation, TypeDescriptor valuesType) 11 | : base(typeRepresentation, valuesType) 12 | { 13 | 14 | } 15 | 16 | public static FileDialogModeEnum CreateInstance() 17 | { 18 | FileDialogModeEnum instance; 19 | var type = TypeManager.RegisterType("ПеречислениеРежимДиалогаВыбораФайла", typeof(FileDialogModeEnum)); 20 | var enumValueType = TypeManager.RegisterType("РежимДиалогаВыбораФайла", typeof(CLREnumValueWrapper)); 21 | 22 | instance = new FileDialogModeEnum(type, enumValueType); 23 | 24 | instance.AddValue("ВыборКаталога", "ChooseDirectory", new CLREnumValueWrapper(instance, InnerFileDialogModeEnum.ChooseDirectory)); 25 | instance.AddValue("Открытие", "Open", new CLREnumValueWrapper(instance, InnerFileDialogModeEnum.Open)); 26 | instance.AddValue("Сохранение", "Save", new CLREnumValueWrapper(instance, InnerFileDialogModeEnum.Save)); 27 | 28 | return instance; 29 | } 30 | } 31 | 32 | public enum InnerFileDialogModeEnum 33 | { 34 | ChooseDirectory, 35 | Open, 36 | Save 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /oscript-component/FormControlDockStyle.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | 3 | namespace oscriptGUI 4 | { 5 | 6 | [ContextClass("СтильЗакрепления", "DockStyle")] 7 | public class FormControlDockStyle : AutoContext 8 | { 9 | 10 | [ContextProperty("Нет", "None")] 11 | public int None 12 | { 13 | get { return 0; } 14 | } 15 | 16 | [ContextProperty("Верх", "Top")] 17 | public int Top 18 | { 19 | get { return 1; } 20 | } 21 | 22 | [ContextProperty("Низ", "Bottom")] 23 | public int Bottom 24 | { 25 | get { return 2; } 26 | } 27 | 28 | [ContextProperty("Лево", "Left")] 29 | public int Left 30 | { 31 | get { return 3; } 32 | } 33 | 34 | 35 | [ContextProperty("Право", "Right")] 36 | public int Right 37 | { 38 | get { return 4; } 39 | } 40 | 41 | [ContextProperty("Заполнение", "Fill")] 42 | public int Fill 43 | { 44 | get { return 5; } 45 | } 46 | 47 | 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /oscript-component/FormFieldType.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | 3 | namespace oscriptGUI 4 | { 5 | 6 | enum EnumFormFieldType : int 7 | { 8 | InputField = 0, 9 | HTMLDocumentField = 1, 10 | ProgressBarField = 2, 11 | CalendarField = 3, 12 | //PictureField = 4, 13 | LabelField = 5, 14 | CheckBoxField = 6, 15 | TextDocumentField = 7, 16 | ComboBox = 8, 17 | ListBox = 9 18 | } 19 | 20 | /// 21 | /// Вид поля формы 22 | /// 23 | [ContextClass("ВидПоляФормы", "FormFieldType")] 24 | public class FormFieldType : AutoContext 25 | { 26 | 27 | /// 28 | /// Однострочное, текстовое поле 29 | /// 30 | /// 31 | /// ПолеВвода 32 | /// InputField 33 | /// 34 | [ContextProperty("ПолеВвода", "InputField")] 35 | public int InputField 36 | { 37 | get { return (int)EnumFormFieldType.InputField; } 38 | } 39 | 40 | ///// 41 | ///// ПолеHTMLДокумента - WebBrowser 42 | ///// 43 | //[ContextProperty("ПолеHTMLДокумента", "HTMLDocumentField")] 44 | //public int HTMLDocumentField 45 | //{ 46 | // get { return (int)EnumFormFieldType.HTMLDocumentField; } 47 | //} 48 | 49 | /// 50 | /// ProgressBar 51 | /// 52 | [ContextProperty("ПолеИндикатора", "ProgressBarField")] 53 | public int ProgressBarField 54 | { 55 | get { return (int)EnumFormFieldType.ProgressBarField; } 56 | } 57 | 58 | /// 59 | /// Поле для выбора даты/времени 60 | /// 61 | [ContextProperty("ПолеКалендаря", "CalendarField")] 62 | public int CalendarField 63 | { 64 | get { return (int)EnumFormFieldType.CalendarField; } 65 | } 66 | 67 | //[ContextProperty("ПолеКартинки", "PictureField")] 68 | //public int PictureField 69 | //{ 70 | // //get { return 4; } 71 | // get { return (int)EnumFormFieldType.PictureField; } 72 | //} 73 | 74 | /// 75 | /// Надпись 76 | /// 77 | [ContextProperty("ПолеНадписи", "LabelField")] 78 | public int LabelField 79 | { 80 | get { return (int)EnumFormFieldType.LabelField; } 81 | } 82 | 83 | /// 84 | /// Флажок 85 | /// 86 | [ContextProperty("ПолеФлажка", "CheckBoxField")] 87 | public int CheckBoxField 88 | { 89 | get { return (int)EnumFormFieldType.CheckBoxField; } 90 | } 91 | 92 | /// 93 | /// Многострочный текст 94 | /// 95 | [ContextProperty("ПолеТекстовогоДокумента", "TextDocumentField")] 96 | public int TextDocumentField 97 | { 98 | get { return (int)EnumFormFieldType.TextDocumentField; } 99 | } 100 | 101 | /// 102 | /// Поле со списком 103 | /// 104 | [ContextProperty("ПолеСоСписком", "ComboBox")] 105 | public int ComboBox 106 | { 107 | get { return (int)EnumFormFieldType.ComboBox; } 108 | } 109 | 110 | /// 111 | /// Поле списка 112 | /// 113 | [ContextProperty("ПолеСписка", "ListBox")] 114 | public int ListBox 115 | { 116 | get { return (int)EnumFormFieldType.ListBox; } 117 | } 118 | 119 | 120 | } 121 | 122 | } 123 | -------------------------------------------------------------------------------- /oscript-component/FormGroupType.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | 3 | namespace oscriptGUI 4 | { 5 | 6 | enum EnumFormGroupType : int 7 | { 8 | UsualGroup = 0, 9 | Page = 1, 10 | Pages = 2, 11 | } 12 | 13 | [ContextClass("ВидГруппыФормы", "FormGroupType")] 14 | public class FormGroupType : AutoContext 15 | { 16 | [ContextProperty("ОбычнаяГруппа", "UsualGroup")] 17 | public int UsualGroup 18 | { 19 | get { return (int)EnumFormGroupType.UsualGroup; } 20 | } 21 | 22 | [ContextProperty("Страница", "Page")] 23 | public int Page 24 | { 25 | get { return (int)EnumFormGroupType.Page; } 26 | } 27 | 28 | [ContextProperty("Страницы", "Pages")] 29 | public int Pages 30 | { 31 | get { return (int)EnumFormGroupType.Pages; } 32 | } 33 | 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /oscript-component/FormStartPositionEnum.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | using ScriptEngine.Machine; 3 | 4 | namespace oscriptGUI 5 | { 6 | 7 | /// 8 | /// Позиция окна при открытии 9 | /// 10 | [SystemEnum("ПозицияОкнаПриОткрытии", "FormStartPosition")] 11 | class FormStartPositionEnum : EnumerationContext 12 | { 13 | const string CenterParent = "ЦентрРодительского"; 14 | const string CenterScreen = "ЦентрЭкрана"; 15 | const string Manual = "Ручное"; 16 | 17 | //const string WindowsDefaultBounds = "WindowsDefaultBounds"; 18 | //const string WindowsDefaultLocation = "WindowsDefaultLocation"; 19 | 20 | public static FormStartPositionEnum CreateInstance() 21 | { 22 | return EnumContextHelper.CreateEnumInstance((t, v) => new FormStartPositionEnum(t, v)); 23 | } 24 | 25 | public FormStartPositionEnum(TypeDescriptor typeRepresentation, TypeDescriptor valuesType) : base(typeRepresentation, valuesType) 26 | { 27 | } 28 | 29 | /// 30 | /// Центр родителя 31 | /// 32 | [EnumValue(CenterParent)] 33 | public EnumerationValue centerParent 34 | { 35 | get { return this[CenterParent]; } 36 | } 37 | 38 | /// 39 | /// Центр экрана 40 | /// 41 | [EnumValue(CenterScreen)] 42 | public EnumerationValue centerScreen 43 | { 44 | get { return this[CenterScreen]; } 45 | } 46 | 47 | /// 48 | /// Ручное 49 | /// 50 | [EnumValue(Manual)] 51 | public EnumerationValue manual 52 | { 53 | get { return this[Manual]; } 54 | } 55 | 56 | } 57 | 58 | /// 59 | /// Состояние окна при открытии 60 | /// 61 | [SystemEnum("СостояниеОкна", "WindowState")] 62 | class WindowStateEnum : EnumerationContext 63 | { 64 | const string Maximized = "Развернутое"; 65 | const string Minimized = "Свернутое"; 66 | const string Normal = "Обычное"; 67 | 68 | //const string WindowsDefaultBounds = "WindowsDefaultBounds"; 69 | //const string WindowsDefaultLocation = "WindowsDefaultLocation"; 70 | 71 | public static WindowStateEnum CreateInstance() 72 | { 73 | return EnumContextHelper.CreateEnumInstance((t, v) => new WindowStateEnum(t, v)); 74 | } 75 | 76 | public WindowStateEnum(TypeDescriptor typeRepresentation, TypeDescriptor valuesType) : base(typeRepresentation, valuesType) 77 | { 78 | } 79 | 80 | /// 81 | /// Развернуто 82 | /// 83 | [EnumValue(Maximized)] 84 | public EnumerationValue maximized 85 | { 86 | get { return this[Maximized]; } 87 | } 88 | 89 | /// 90 | /// Свернуто 91 | /// 92 | [EnumValue(Minimized)] 93 | public EnumerationValue minimized 94 | { 95 | get { return this[Minimized]; } 96 | } 97 | 98 | /// 99 | /// Обычное 100 | /// 101 | [EnumValue(Normal)] 102 | public EnumerationValue normal 103 | { 104 | get { return this[Normal]; } 105 | } 106 | 107 | } 108 | 109 | 110 | } 111 | -------------------------------------------------------------------------------- /oscript-component/FormTableColumn.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | using System.Windows.Forms; 3 | 4 | namespace oscriptGUI 5 | { 6 | /// 7 | /// Колонка элемента ТаблицаФормы 8 | /// 9 | [ContextClass("КолонкаТаблицыФормы", "FormTableColumn")] 10 | public class FormTableColumn : AutoContext 11 | { 12 | private DataGridView _grid; 13 | private int _pos; 14 | 15 | public FormTableColumn(DataGridView grid, int pos) 16 | { 17 | 18 | _grid = grid; 19 | _pos = pos; 20 | } 21 | 22 | /// 23 | /// Ширина 24 | /// 25 | [ContextProperty("Ширина", "Width")] 26 | public int Width 27 | { 28 | get { return _grid.Columns[_pos].Width; } 29 | set { _grid.Columns[_pos].Width = value; } 30 | } 31 | 32 | /// 33 | /// Видимость 34 | /// 35 | [ContextProperty("Видимость", "Visible")] 36 | public bool Visible 37 | { 38 | get { return _grid.Columns[_pos].Visible; } 39 | set { _grid.Columns[_pos].Visible = value; } 40 | } 41 | 42 | /// 43 | /// Заголовок 44 | /// 45 | [ContextProperty("Заголовок", "Title")] 46 | public string Title 47 | { 48 | get { return _grid.Columns[_pos].HeaderText; } 49 | set { _grid.Columns[_pos].HeaderText = value; } 50 | } 51 | 52 | /// 53 | /// Номер колонки 54 | /// 55 | [ContextProperty("Индекс", "Index")] 56 | public int Index 57 | { 58 | get { return _pos; } 59 | } 60 | 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /oscript-component/FormTree/FormTreeColumn.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | using TreeViewColumnsProject; 3 | 4 | namespace oscriptGUI 5 | { 6 | [ContextClass("КолонкаДерева", "FormTreeColumn")] 7 | class FormTreeColumn: AutoContext 8 | { 9 | private TreeViewColumns _grid; 10 | private int _pos; 11 | 12 | public FormTreeColumn(TreeViewColumns grid, int pos) 13 | { 14 | 15 | _grid = grid; 16 | _pos = pos; 17 | } 18 | 19 | /// 20 | /// Ширина 21 | /// 22 | [ContextProperty("Ширина", "Width")] 23 | public int Width 24 | { 25 | get { return _grid.Columns[_pos].Width; } 26 | set { _grid.Columns[_pos].Width = value; } 27 | } 28 | 29 | /// 30 | /// Заголовок 31 | /// 32 | [ContextProperty("Заголовок", "Title")] 33 | public string Title 34 | { 35 | get { return _grid.Columns[_pos].Text; } 36 | set { _grid.Columns[_pos].Text = value; } 37 | } 38 | 39 | /// 40 | /// Номер колонки 41 | /// 42 | [ContextProperty("Индекс", "Index")] 43 | public int Index 44 | { 45 | get { return _pos; } 46 | } 47 | 48 | 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /oscript-component/FormTree/TreeViewColumns/TreeViewColumns.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Windows.Forms; 4 | using System.Windows.Forms.VisualStyles; 5 | 6 | using System.ComponentModel; 7 | 8 | namespace TreeViewColumnsProject 9 | { 10 | public partial class TreeViewColumns : UserControl 11 | { 12 | public TreeViewColumns() 13 | { 14 | InitializeComponent(); 15 | 16 | this.BackColor = VisualStyleInformation.TextControlBorder; 17 | this.Padding = new Padding(1); 18 | } 19 | 20 | [Description("TreeView associated with the control"), Category("Behavior")] 21 | public TreeView TreeView 22 | { 23 | get 24 | { 25 | return this.treeView1; 26 | } 27 | } 28 | 29 | [Description("Columns associated with the control"), Category("Behavior")] 30 | public ListView.ColumnHeaderCollection Columns 31 | { 32 | get 33 | { 34 | return this.listView1.Columns; 35 | } 36 | } 37 | 38 | private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) 39 | { 40 | this.treeView1.Focus(); 41 | } 42 | 43 | private void treeView1_Click(object sender, EventArgs e) 44 | { 45 | Point p = this.treeView1.PointToClient(Control.MousePosition); 46 | TreeNode tn = this.treeView1.GetNodeAt(p); 47 | if (tn != null) 48 | this.treeView1.SelectedNode = tn; 49 | } 50 | 51 | private void listView1_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e) 52 | { 53 | this.treeView1.Focus(); 54 | this.treeView1.Invalidate(); 55 | } 56 | 57 | private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e) 58 | { 59 | this.treeView1.Focus(); 60 | this.treeView1.Invalidate(); 61 | } 62 | 63 | private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) 64 | { 65 | e.DrawDefault = true; 66 | 67 | Rectangle rect = e.Bounds; 68 | 69 | if ((e.State & TreeNodeStates.Selected) != 0) 70 | { 71 | if ((e.State & TreeNodeStates.Focused) != 0) 72 | e.Graphics.FillRectangle(SystemBrushes.Highlight, rect); 73 | else 74 | e.Graphics.FillRectangle(SystemBrushes.Control, rect); 75 | } 76 | else 77 | e.Graphics.FillRectangle(Brushes.White, rect); 78 | 79 | e.Graphics.DrawRectangle(SystemPens.Control, rect); 80 | 81 | for (int intColumn = 1; intColumn < this.listView1.Columns.Count; intColumn++) 82 | { 83 | rect.Offset(this.listView1.Columns[intColumn - 1].Width, 0); 84 | rect.Width = this.listView1.Columns[intColumn].Width; 85 | 86 | e.Graphics.DrawRectangle(SystemPens.Control, rect); 87 | 88 | string strColumnText; 89 | string[] list = e.Node.Tag as string[]; 90 | if (list != null && intColumn<=list.Length) 91 | strColumnText = list[intColumn - 1]; 92 | else 93 | strColumnText = intColumn + " " + e.Node.Text; // dummy 94 | 95 | TextFormatFlags flags = TextFormatFlags.EndEllipsis; 96 | switch(this.listView1.Columns[intColumn].TextAlign) 97 | { 98 | case HorizontalAlignment.Center: 99 | flags |= TextFormatFlags.HorizontalCenter; 100 | break; 101 | case HorizontalAlignment.Left: 102 | flags |= TextFormatFlags.Left; 103 | break; 104 | case HorizontalAlignment.Right: 105 | flags |= TextFormatFlags.Right; 106 | break; 107 | default: 108 | break; 109 | } 110 | 111 | rect.Y++; 112 | if ((e.State & TreeNodeStates.Selected) != 0 && 113 | (e.State & TreeNodeStates.Focused) != 0) 114 | TextRenderer.DrawText(e.Graphics, strColumnText, e.Node.NodeFont, rect, SystemColors.HighlightText, flags); 115 | else 116 | TextRenderer.DrawText(e.Graphics, strColumnText, e.Node.NodeFont, rect, e.Node.ForeColor, e.Node.BackColor, flags); 117 | rect.Y--; 118 | } 119 | } 120 | 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /oscript-component/IElementsContainer.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine; 2 | 3 | 4 | namespace oscriptGUI 5 | { 6 | interface IElementsContainer : IValue 7 | { 8 | Elements Items { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /oscript-component/IFormElement.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine; 2 | using System.Windows.Forms; 3 | 4 | namespace oscriptGUI 5 | { 6 | interface IFormElement : IValue 7 | { 8 | void setParent(IValue parent); 9 | IValue Parent { get; } 10 | string Name { get; set; } 11 | Control getBaseControl(); 12 | Control getControl(); 13 | 14 | void setAction(IRuntimeContextInstance contex, string eventName, string methodName); 15 | string GetAction(string eventName); 16 | 17 | bool AutoSize { get; set; } 18 | 19 | int Height { get; set; } 20 | int Width { get; set; } 21 | 22 | int Dock { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /oscript-component/ListViewVT/FormListViewColumn.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine.Contexts; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | using System.Windows.Forms; 8 | 9 | namespace oscriptGUI.ListViewVT 10 | { 11 | /// 12 | /// Колонка элемента ПредставлениеСписка 13 | /// 14 | [ContextClass("КолонкаПредставленияСписка", "ListViewColumn")] 15 | public class ListViewColumn : AutoContext 16 | { 17 | private ListView _grid; 18 | private int _pos; 19 | 20 | public ListViewColumn(ListView grid, int pos) 21 | { 22 | 23 | _grid = grid; 24 | _pos = pos; 25 | } 26 | 27 | public override string ToString() 28 | { 29 | return "КолонкаПредставленияСписка"; 30 | } 31 | 32 | /// 33 | /// Ширина 34 | /// 35 | [ContextProperty("Ширина", "Width")] 36 | public int Width 37 | { 38 | get { return _grid.Columns[_pos].Width; } 39 | set { _grid.Columns[_pos].Width = value; } 40 | } 41 | 42 | /// 43 | /// Заголовок 44 | /// 45 | [ContextProperty("Заголовок", "Title")] 46 | public string Title 47 | { 48 | get { return _grid.Columns[_pos].Text; } 49 | set { _grid.Columns[_pos].Text = value; } 50 | } 51 | 52 | /// 53 | /// Номер колонки 54 | /// 55 | [ContextProperty("Индекс", "Index")] 56 | public int Index 57 | { 58 | get { return _pos; } 59 | } 60 | 61 | 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /oscript-component/ListViewVT/FormListViewImagePack.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine; 2 | using ScriptEngine.Machine.Contexts; 3 | 4 | using System; 5 | using System.Collections.Generic; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace oscriptGUI.ListViewVT 12 | { 13 | [ContextClass("Изображения", "Images")] 14 | public class FormListViewImagePack : AutoContext 15 | { 16 | 17 | private readonly ImageList _imageList = new ImageList(); 18 | 19 | public FormListViewImagePack() { 20 | 21 | } 22 | 23 | public override string ToString() 24 | { 25 | return "Изображения"; 26 | } 27 | 28 | [ContextMethod("Добавить")] 29 | public void Add(string imagePath) 30 | { 31 | System.Drawing.Icon _val = new System.Drawing.Icon(imagePath); 32 | _imageList.Images.Add(_val); 33 | } 34 | 35 | [ContextMethod("Очистить")] 36 | public void Clear(string imagePath) 37 | { 38 | _imageList.Images.Clear(); 39 | } 40 | 41 | public ImageList list() 42 | { 43 | return _imageList; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /oscript-component/ListViewVT/FormListViewView.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine; 2 | using ScriptEngine.Machine.Contexts; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace oscriptGUI.ListViewVT 10 | { 11 | 12 | [ContextClass("Представление", "View")] 13 | public sealed class FormListViewView : AutoContext 14 | { 15 | [ContextProperty("БольшиеЗначки")] 16 | public int LargeIcon { get { return 0; } } 17 | 18 | [ContextProperty("Таблица")] 19 | public int Details { get { return 1; } } 20 | 21 | [ContextProperty("МаленькиеЗначки")] 22 | public int SmallIcon { get { return 2; } } 23 | 24 | [ContextProperty("Список")] 25 | public int List { get { return 3; } } 26 | 27 | [ContextProperty("Плитка")] 28 | public int Tile { get { return 4; } } 29 | } 30 | 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /oscript-component/ManagedInterface.cs: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | 4 | using ScriptEngine.Machine.Contexts; 5 | using ScriptEngine.Machine; 6 | 7 | 8 | namespace oscriptGUI 9 | { 10 | /// 11 | /// Фабрика для работы с формами 12 | /// 13 | [ContextClass("УправляемыйИнтерфейс", "ManagedInterface")] 14 | public class ManagedInterface : AutoContext 15 | { 16 | private readonly string _version; 17 | 18 | private readonly FormFieldType _formFieldType; 19 | private readonly FormGroupType _formGroupType; 20 | private readonly TitleLocation _titleLocation; 21 | private readonly StandardDialogs _standardDialogs; 22 | private readonly FormControlDockStyle _formControlDockStyle; 23 | 24 | 25 | public ManagedInterface() 26 | { 27 | this._version = "1.1.2.2"; 28 | this._formFieldType = new FormFieldType(); 29 | this._formGroupType = new FormGroupType(); 30 | this._titleLocation = new TitleLocation(); 31 | this._formControlDockStyle = new FormControlDockStyle(); 32 | this._standardDialogs = new StandardDialogs(); 33 | 34 | } 35 | 36 | /// 37 | /// Номер версии библиотеки 38 | /// 39 | [ContextProperty("Версия", "Version")] 40 | public string version 41 | { 42 | get { return _version; } 43 | } 44 | 45 | /// 46 | /// Системное перечисление. Вариант закрепления. 47 | /// 48 | /// СтильЗакрепления 49 | [ContextProperty("СтильЗакрепления", "DockStyle")] 50 | public IValue FormControlDockStyle 51 | { 52 | get { return _formControlDockStyle; } 53 | } 54 | 55 | /// 56 | /// Системное перечисление. 57 | /// 58 | /// ВидПоляФормы 59 | [ContextProperty("ВидПоляФормы", "FormFieldType")] 60 | public IValue FormFieldType 61 | { 62 | get { return _formFieldType; } 63 | } 64 | 65 | /// 66 | /// Системное перечисление. 67 | /// 68 | /// ВидГруппыФормы 69 | [ContextProperty("ВидГруппыФормы", "FormGroupType")] 70 | public IValue FormGroupType 71 | { 72 | get { return _formGroupType; } 73 | } 74 | 75 | /// 76 | /// Системное перечисление. 77 | /// 78 | /// ПоложениеЗаголовка 79 | [ContextProperty("ПоложениеЗаголовка", "TitleLocation")] 80 | public IValue TitleLocation 81 | { 82 | get { return _titleLocation; } 83 | } 84 | 85 | /// 86 | /// Системное перечисление. 87 | /// 88 | /// ПоложениеЗаголовка 89 | [ContextProperty("СтандартныеДиалоги", "StandardDialogs")] 90 | public IValue StandardDialogs 91 | { 92 | get { return _standardDialogs; } 93 | } 94 | 95 | // можем переопределить строковое отображение наших объектов 96 | public override string ToString() 97 | { 98 | return "УправляемыйИнтерфейс"; 99 | } 100 | 101 | [ScriptConstructor] 102 | public static IRuntimeContextInstance Constructor() 103 | { 104 | return new ManagedInterface(); 105 | } 106 | 107 | /// 108 | /// Создать форму 109 | /// 110 | /// УправляемаяФорма 111 | [ContextMethod("СоздатьФорму", "CreateForm")] 112 | public ManagedForm CreateForm() 113 | { 114 | return new ManagedForm(); 115 | } 116 | 117 | 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /oscript-component/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | 3 | // Information about this assembly is defined by the following attributes. 4 | // Change them to the values specific to your project. 5 | 6 | [assembly: AssemblyTitle("oscript-GUI")] 7 | [assembly: AssemblyDescription("Работа с формами для OneScript")] 8 | [assembly: AssemblyConfiguration("")] 9 | [assembly: AssemblyCompany("")] 10 | [assembly: AssemblyProduct("")] 11 | [assembly: AssemblyCopyright("ret-Phoenix")] 12 | [assembly: AssemblyTrademark("")] 13 | [assembly: AssemblyCulture("")] 14 | 15 | // The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". 16 | // The form "{Major}.{Minor}.*" will automatically update the build and revision, 17 | // and "{Major}.{Minor}.{Build}.*" will update just the revision. 18 | 19 | [assembly: AssemblyVersion("1.1.2.4")] 20 | 21 | // The following attributes are used to specify the signing key for the assembly, 22 | // if desired. See the Mono documentation for more information about signing. 23 | 24 | //[assembly: AssemblyDelaySign(false)] 25 | //[assembly: AssemblyKeyFile("")] 26 | 27 | -------------------------------------------------------------------------------- /oscript-component/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программой. 4 | // Исполняемая версия:4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае 7 | // повторной генерации кода. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace oscriptGUI.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. 17 | /// 18 | // Этот класс создан автоматически классом StronglyTypedResourceBuilder 19 | // с помощью такого средства, как ResGen или Visual Studio. 20 | // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen 21 | // с параметром /str или перестройте свой проект VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("oscriptGUI.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Перезаписывает свойство CurrentUICulture текущего потока для всех 51 | /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Поиск локализованного ресурса типа System.Drawing.Icon, аналогичного (Значок). 65 | /// 66 | internal static System.Drawing.Icon gtkabout { 67 | get { 68 | object obj = ResourceManager.GetObject("gtkabout", resourceCulture); 69 | return ((System.Drawing.Icon)(obj)); 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /oscript-component/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программой. 4 | // Исполняемая версия:4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае 7 | // повторной генерации кода. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace oscriptGUI.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /oscript-component/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /oscript-component/QuestionDialogModeEnum.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.HostedScript; 2 | using ScriptEngine.Machine; 3 | using ScriptEngine.Machine.Contexts; 4 | 5 | namespace oscriptGUI 6 | { 7 | /// 8 | /// Режимы диалогов 9 | /// 10 | [SystemEnum("РежимДиалогаВопрос", "QuestionDialogMode")] 11 | public class QuestionDialogModeEnum : EnumerationContext 12 | { 13 | private QuestionDialogModeEnum(TypeDescriptor typeRepresentation, TypeDescriptor valuesType) 14 | : base(typeRepresentation, valuesType) 15 | { 16 | 17 | } 18 | 19 | /// 20 | /// Инициализация 21 | /// 22 | /// 23 | public static QuestionDialogModeEnum CreateInstance() 24 | { 25 | QuestionDialogModeEnum instance; 26 | var type = TypeManager.RegisterType("ПеречислениеРежимДиалогаВопрос", typeof(QuestionDialogModeEnum)); 27 | var enumValueType = TypeManager.RegisterType("РежимДиалогаВопрос", typeof(CLREnumValueWrapper)); 28 | 29 | instance = new QuestionDialogModeEnum(type, enumValueType); 30 | 31 | instance.AddValue("ДаНет", "YesNo", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.YesNo)); 32 | instance.AddValue("ДаНетОтмена", "YesNoCancel", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.YesNoCancel)); 33 | instance.AddValue("ОК", "OK", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.OK)); 34 | instance.AddValue("ОКОтмена", "OKCancel", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.OKCancel)); 35 | instance.AddValue("ПовторитьОтмена", "RetryCancel", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.RetryCancel)); 36 | instance.AddValue("ПрерватьПовторитьПропустить", "AbortRetryIgnore", new CLREnumValueWrapper(instance, InnerQuestionDialogModeEnum.AbortRetryIgnore)); 37 | 38 | return instance; 39 | } 40 | } 41 | 42 | /// 43 | /// Режимы кнопок 44 | /// 45 | public enum InnerQuestionDialogModeEnum 46 | { 47 | /// 48 | /// Кнопки: Да + Нет 49 | /// 50 | YesNo, 51 | /// 52 | /// Кнопки: Да + Нет + Отмена 53 | /// 54 | YesNoCancel, 55 | /// 56 | /// Кнопки: Ок 57 | /// 58 | OK, 59 | /// 60 | /// Кнопки: Ок + Отмена 61 | /// 62 | OKCancel, 63 | /// 64 | /// Кнопки: Повторить + Отмена 65 | /// 66 | RetryCancel, 67 | /// 68 | /// Кнопки: Отменить + Повторить + Игнорировать 69 | /// 70 | AbortRetryIgnore 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /oscript-component/Resources/gtkabout.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oscript-component/Resources/gtkabout.ico -------------------------------------------------------------------------------- /oscript-component/SystemTray.cs: -------------------------------------------------------------------------------- 1 | using ScriptEngine.Machine; 2 | using ScriptEngine.Machine.Contexts; 3 | using System.Windows.Forms; 4 | 5 | namespace oscriptGUI 6 | { 7 | [ContextClass("УведомлениеВТрее", "NotifyInTray")] 8 | class NotifyInTray : AutoContext 9 | { 10 | 11 | private readonly NotifyIcon notifyIcon; 12 | private string _icon; 13 | 14 | public NotifyInTray() 15 | { 16 | notifyIcon = new NotifyIcon(); 17 | notifyIcon.Icon = Properties.Resources.gtkabout; 18 | _icon = ""; 19 | } 20 | 21 | [ScriptConstructor] 22 | public static IRuntimeContextInstance Constructor() 23 | { 24 | return new NotifyInTray(); 25 | } 26 | 27 | /// 28 | /// Заголовок уведомления 29 | /// 30 | [ContextProperty("Заголовок", "Title")] 31 | public string Title { get; set; } 32 | 33 | /// 34 | /// Текст уведомления в трее 35 | /// 36 | [ContextProperty("Текст", "Text")] 37 | public string Text { get; set; } 38 | 39 | /// 40 | /// Срок отображения сообщения в трее. Время в секундах. 41 | /// 42 | [ContextProperty("Таймаут", "Timeout")] 43 | public int Timeout { get; set; } 44 | 45 | /// 46 | /// Иконка в трее, если не указана - берется по умолчанию из ресурсов. Можно указать путь к файлу со своей иконкой. 47 | /// 48 | [ContextProperty("Иконка", "Icon")] 49 | public string Icon { 50 | get { return _icon; } 51 | set { 52 | 53 | if (value == "") 54 | { 55 | notifyIcon.Icon = Properties.Resources.gtkabout; 56 | } 57 | else 58 | { 59 | notifyIcon.Icon = new System.Drawing.Icon(value); 60 | } 61 | _icon = value; 62 | } 63 | } 64 | 65 | /// 66 | /// Показывает уведомление в трее 67 | /// 68 | [ContextMethod("Показать", "Show")] 69 | public void Show() 70 | { 71 | notifyIcon.Visible = true; 72 | 73 | if (Title != null) 74 | { 75 | notifyIcon.BalloonTipTitle = Title; 76 | } 77 | 78 | if (Text != null) 79 | { 80 | notifyIcon.BalloonTipText = Text; 81 | } 82 | 83 | notifyIcon.ShowBalloonTip(Timeout); 84 | } 85 | 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /oscript-component/TitleLocation.cs: -------------------------------------------------------------------------------- 1 | // This is an open source non-commercial project. Dear PVS-Studio, please check it. 2 | // PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com 3 | 4 | using ScriptEngine.Machine.Contexts; 5 | 6 | namespace oscriptGUI 7 | { 8 | enum EnumTitleLocation : int 9 | { 10 | Auto = 0, 11 | Top = 1, 12 | Left = 2, 13 | None = 3, 14 | Bottom = 5, 15 | Right = 6, 16 | } 17 | 18 | [ContextClass("ПоложениеЗаголовкаЭлементаФормы", "FormItemTitleLocation")] 19 | public class TitleLocation : AutoContext 20 | { 21 | 22 | [ContextProperty("Авто", "Auto")] 23 | public int Auto 24 | { 25 | get { return (int)EnumTitleLocation.Auto; } 26 | } 27 | 28 | [ContextProperty("Верх", "Top")] 29 | public int Top 30 | { 31 | get { return (int)EnumTitleLocation.Top; } 32 | } 33 | 34 | [ContextProperty("Лево", "Left")] 35 | public int Left 36 | { 37 | get { return (int)EnumTitleLocation.Left; } 38 | } 39 | 40 | [ContextProperty("Нет", "None")] 41 | public int None 42 | { 43 | get { return (int)EnumTitleLocation.None; } 44 | } 45 | 46 | [ContextProperty("Низ", "Bottom")] 47 | public int Bottom 48 | { 49 | get { return (int)EnumTitleLocation.Bottom; } 50 | } 51 | 52 | [ContextProperty("Право", "Right")] 53 | public int Right 54 | { 55 | get { return (int)EnumTitleLocation.Right; } 56 | } 57 | 58 | 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace TreeViewColumnsProject 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.treeViewColumns1 = new TreeViewColumnsProject.TreeViewColumns(); 32 | this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 33 | this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 34 | this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 35 | this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 36 | this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 37 | this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 38 | this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 39 | this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 40 | this.columnHeader9 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 41 | this.columnHeader10 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); 42 | this.SuspendLayout(); 43 | // 44 | // treeViewColumns1 45 | // 46 | this.treeViewColumns1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(157)))), ((int)(((byte)(185))))); 47 | this.treeViewColumns1.Dock = System.Windows.Forms.DockStyle.Fill; 48 | this.treeViewColumns1.Location = new System.Drawing.Point(0, 0); 49 | this.treeViewColumns1.Name = "treeViewColumns1"; 50 | this.treeViewColumns1.Padding = new System.Windows.Forms.Padding(1); 51 | this.treeViewColumns1.Size = new System.Drawing.Size(462, 205); 52 | this.treeViewColumns1.TabIndex = 0; 53 | // 54 | // Form1 55 | // 56 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 57 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 58 | this.ClientSize = new System.Drawing.Size(462, 205); 59 | this.Controls.Add(this.treeViewColumns1); 60 | this.Name = "Form1"; 61 | this.Text = "Example TreeViewColumns (lite)"; 62 | this.ResumeLayout(false); 63 | 64 | } 65 | 66 | #endregion 67 | 68 | private TreeViewColumns treeViewColumns1; 69 | private System.Windows.Forms.ColumnHeader columnHeader1; 70 | private System.Windows.Forms.ColumnHeader columnHeader2; 71 | private System.Windows.Forms.ColumnHeader columnHeader3; 72 | private System.Windows.Forms.ColumnHeader columnHeader4; 73 | private System.Windows.Forms.ColumnHeader columnHeader5; 74 | private System.Windows.Forms.ColumnHeader columnHeader6; 75 | private System.Windows.Forms.ColumnHeader columnHeader7; 76 | private System.Windows.Forms.ColumnHeader columnHeader8; 77 | private System.Windows.Forms.ColumnHeader columnHeader9; 78 | private System.Windows.Forms.ColumnHeader columnHeader10; 79 | } 80 | } 81 | 82 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Form1.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oscript-component/TreeViewColumnsProject/Form1.cs -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace TreeViewColumnsProject 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new Form1()); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("TreeViewColumnsProject")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("TreeViewColumnsProject")] 13 | [assembly: AssemblyCopyright("Copyright © 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("c743362f-4ee8-46d0-bd13-d05d5c856dca")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программой. 4 | // Исполняемая версия:4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае 7 | // повторной генерации кода. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TreeViewColumnsProject.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. 17 | /// 18 | // Этот класс создан автоматически классом StronglyTypedResourceBuilder 19 | // с помощью такого средства, как ResGen или Visual Studio. 20 | // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen 21 | // с параметром /str или перестройте свой проект VS. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TreeViewColumnsProject.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Перезаписывает свойство CurrentUICulture текущего потока для всех 51 | /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // Этот код создан программой. 4 | // Исполняемая версия:4.0.30319.42000 5 | // 6 | // Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае 7 | // повторной генерации кода. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace TreeViewColumnsProject.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/TreeViewColumns.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Drawing; 3 | using System.Windows.Forms; 4 | using System.Windows.Forms.VisualStyles; 5 | 6 | using System.ComponentModel; 7 | 8 | namespace TreeViewColumnsProject 9 | { 10 | public partial class TreeViewColumns : UserControl 11 | { 12 | public TreeViewColumns() 13 | { 14 | InitializeComponent(); 15 | 16 | this.BackColor = VisualStyleInformation.TextControlBorder; 17 | this.Padding = new Padding(1); 18 | } 19 | 20 | [Description("TreeView associated with the control"), Category("Behavior")] 21 | public TreeView TreeView 22 | { 23 | get 24 | { 25 | return this.treeView1; 26 | } 27 | } 28 | 29 | [Description("Columns associated with the control"), Category("Behavior")] 30 | public ListView.ColumnHeaderCollection Columns 31 | { 32 | get 33 | { 34 | return this.listView1.Columns; 35 | } 36 | } 37 | 38 | private void listView1_ColumnClick(object sender, ColumnClickEventArgs e) 39 | { 40 | this.treeView1.Focus(); 41 | } 42 | 43 | private void treeView1_Click(object sender, EventArgs e) 44 | { 45 | Point p = this.treeView1.PointToClient(Control.MousePosition); 46 | TreeNode tn = this.treeView1.GetNodeAt(p); 47 | if (tn != null) 48 | this.treeView1.SelectedNode = tn; 49 | } 50 | 51 | private void listView1_ColumnWidthChanged(object sender, ColumnWidthChangedEventArgs e) 52 | { 53 | this.treeView1.Focus(); 54 | this.treeView1.Invalidate(); 55 | } 56 | 57 | private void listView1_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e) 58 | { 59 | this.treeView1.Focus(); 60 | this.treeView1.Invalidate(); 61 | } 62 | 63 | private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e) 64 | { 65 | e.DrawDefault = true; 66 | 67 | Rectangle rect = e.Bounds; 68 | 69 | if ((e.State & TreeNodeStates.Selected) != 0) 70 | { 71 | if ((e.State & TreeNodeStates.Focused) != 0) 72 | e.Graphics.FillRectangle(SystemBrushes.Highlight, rect); 73 | else 74 | e.Graphics.FillRectangle(SystemBrushes.Control, rect); 75 | } 76 | else 77 | e.Graphics.FillRectangle(Brushes.White, rect); 78 | 79 | e.Graphics.DrawRectangle(SystemPens.Control, rect); 80 | 81 | for (int intColumn = 1; intColumn < this.listView1.Columns.Count; intColumn++) 82 | { 83 | rect.Offset(this.listView1.Columns[intColumn - 1].Width, 0); 84 | rect.Width = this.listView1.Columns[intColumn].Width; 85 | 86 | e.Graphics.DrawRectangle(SystemPens.Control, rect); 87 | 88 | string strColumnText; 89 | string[] list = e.Node.Tag as string[]; 90 | if (list != null && intColumn<=list.Length) 91 | strColumnText = list[intColumn - 1]; 92 | else 93 | strColumnText = intColumn + " " + e.Node.Text; // dummy 94 | 95 | TextFormatFlags flags = TextFormatFlags.EndEllipsis; 96 | switch(this.listView1.Columns[intColumn].TextAlign) 97 | { 98 | case HorizontalAlignment.Center: 99 | flags |= TextFormatFlags.HorizontalCenter; 100 | break; 101 | case HorizontalAlignment.Left: 102 | flags |= TextFormatFlags.Left; 103 | break; 104 | case HorizontalAlignment.Right: 105 | flags |= TextFormatFlags.Right; 106 | break; 107 | default: 108 | break; 109 | } 110 | 111 | rect.Y++; 112 | if ((e.State & TreeNodeStates.Selected) != 0 && 113 | (e.State & TreeNodeStates.Focused) != 0) 114 | TextRenderer.DrawText(e.Graphics, strColumnText, e.Node.NodeFont, rect, SystemColors.HighlightText, flags); 115 | else 116 | TextRenderer.DrawText(e.Graphics, strColumnText, e.Node.NodeFont, rect, e.Node.ForeColor, e.Node.BackColor, flags); 117 | rect.Y--; 118 | } 119 | } 120 | 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/TreeViewColumnsProject.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ru-RU 11 | false 12 | 13 | -------------------------------------------------------------------------------- /oscript-component/TreeViewColumnsProject/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /oscript-component/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /oscript-component/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /oscript-simple-gui.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26403.7 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "oscript-simple-gui", "oscript-component\oscript-simple-gui.csproj", "{EA173D06-CCD2-45D5-A263-DC866289517A}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {EA173D06-CCD2-45D5-A263-DC866289517A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {EA173D06-CCD2-45D5-A263-DC866289517A}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {EA173D06-CCD2-45D5-A263-DC866289517A}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {EA173D06-CCD2-45D5-A263-DC866289517A}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /oslib/bin/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /oslib/bin/readme.md: -------------------------------------------------------------------------------- 1 | dll -------------------------------------------------------------------------------- /oslib/docs/FileDialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/FileDialog.png -------------------------------------------------------------------------------- /oslib/docs/MessageBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/MessageBox.png -------------------------------------------------------------------------------- /oslib/docs/QueryBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/QueryBox.png -------------------------------------------------------------------------------- /oslib/docs/example-button-n-edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/example-button-n-edit.gif -------------------------------------------------------------------------------- /oslib/docs/example-combobox-change-event.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/example-combobox-change-event.png -------------------------------------------------------------------------------- /oslib/docs/example-decoration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/example-decoration.png -------------------------------------------------------------------------------- /oslib/docs/example-form-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/example-form-table.png -------------------------------------------------------------------------------- /oslib/docs/example-form-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/oslib/docs/example-form-tree.png -------------------------------------------------------------------------------- /oslib/docs/ВидГруппыФормы.md: -------------------------------------------------------------------------------- 1 | # ВидГруппыФормы / FormGroupType 2 | 3 | ## Свойства 4 | 5 | ### ОбычнаяГруппа / UsualGroup 6 | Доступ: Чтение 7 | 8 | ### Страница / Page 9 | Доступ: Чтение 10 | 11 | ### Страницы / Pages 12 | Доступ: Чтение 13 | 14 | -------------------------------------------------------------------------------- /oslib/docs/ВидПоляФормы.md: -------------------------------------------------------------------------------- 1 | # ВидПоляФормы / FormFieldType 2 | 3 | Вид поля формы 4 | 5 | ## Свойства 6 | 7 | ### ПолеВвода / InputField 8 | Доступ: Чтение 9 | 10 | Однострочное, текстовое поле 11 | 12 | ### ПолеИндикатора / ProgressBarField 13 | Доступ: Чтение 14 | 15 | ProgressBar 16 | 17 | ### ПолеКалендаря / CalendarField 18 | Доступ: Чтение 19 | 20 | Поле для выбора даты/времени 21 | 22 | ### ПолеНадписи / LabelField 23 | Доступ: Чтение 24 | 25 | Надпись 26 | 27 | ### ПолеФлажка / CheckBoxField 28 | Доступ: Чтение 29 | 30 | Флажок 31 | 32 | ### ПолеТекстовогоДокумента / TextDocumentField 33 | Доступ: Чтение 34 | 35 | Многострочный текст 36 | 37 | ### ПолеСоСписком / ComboBox 38 | Доступ: Чтение 39 | 40 | Поле со списком 41 | 42 | ### ПолеСписка / ListBox 43 | Доступ: Чтение 44 | 45 | Поле списка -------------------------------------------------------------------------------- /oslib/docs/ГруппаФормы.md: -------------------------------------------------------------------------------- 1 | # ГруппаФормы / FormGroup 2 | 3 | Элемент формы, предназначенный для визуальной и/или логической группировки элементов. 4 | 5 | ## Свойства 6 | 7 | ### Родитель / Parent 8 | Доступ: Чтение 9 | 10 | Тип значения: ГруппаФормы, Форма 11 | 12 | Содержит ссылку на родительский элемент. 13 | 14 | ### Имя / Name 15 | Доступ: Чтение/Запись 16 | 17 | Имя группы 18 | 19 | ### Видимость / Visible 20 | Доступ: Чтение/Запись 21 | 22 | Управление видимостью 23 | 24 | ### Доступность / Enabled 25 | Доступ: Чтение/Запись 26 | 27 | Управление доступностью 28 | 29 | ### Заголовок / Title 30 | Доступ: Чтение/Запись 31 | 32 | Заголовок к группе. Пустая строка означает автоматическое формирование. 33 | 34 | ### Вид / Type 35 | Доступ: Чтение/Запись 36 | 37 | Тип значения: ВидГруппыФормы 38 | 39 | Определяет способ представления группы в форме. 40 | 41 | ### Элементы / Items 42 | Доступ: Чтение 43 | 44 | Тип значения: Элементы 45 | 46 | Содержит коллекцию подчиненных элементов группы. 47 | 48 | ### Высота / Height 49 | Доступ: Чтение/Запись 50 | 51 | Высота 52 | 53 | ### Ширина / Width 54 | Доступ: Чтение/Запись 55 | 56 | Ширина 57 | 58 | ### АвтоматическийРазмер / AutoSize 59 | Доступ: Чтение/Запись 60 | 61 | Автоматический размер 62 | 63 | ### Закрепление / Dock 64 | Доступ: Чтение/Запись 65 | 66 | Тип значения: СтильЗакрепления 67 | 68 | Вариант закрепления. 69 | 70 | ## Методы 71 | 72 | ### УстановитьДействие / SetAction() 73 | 74 | Обработка событий не предусмотрена 75 | 76 | ### ПолучитьДействие / GetAction() 77 | 78 | Обработка событий не предусмотрена -------------------------------------------------------------------------------- /oslib/docs/ДеревоФормы.md: -------------------------------------------------------------------------------- 1 | # ДеревоФормы / FormTree 2 | 3 | ## Свойства 4 | 5 | ### Имя / Name 6 | Доступ: Чтение/Запись 7 | 8 | Имя элемента 9 | 10 | ### Видимость / Visible 11 | Доступ: Чтение/Запись 12 | 13 | Управление видимостью 14 | 15 | ### Доступность / Enabled 16 | Доступ: Чтение/Запись 17 | 18 | Управление доступностью 19 | 20 | ### Заголовок / Title 21 | Доступ: Чтение/Запись 22 | 23 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 24 | 25 | ### ПоложениеЗаголовка / TitleLocation 26 | Доступ: Чтение/Запись 27 | 28 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 29 | 30 | Определяет положение заголовка относительно поля в макете формы. 31 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 32 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 33 | 34 | ### Родитель / Parent 35 | Доступ: Чтение 36 | 37 | Тип значения: ГруппаФормы, Форма 38 | 39 | Содержит ссылку на родительский элемент. 40 | 41 | ### Высота / Height 42 | Доступ: Чтение/Запись 43 | 44 | Высота 45 | 46 | ### Ширина / Width 47 | Доступ: Чтение/Запись 48 | 49 | Ширина 50 | 51 | ### АвтоматическийРазмер / AutoSize 52 | Доступ: Чтение/Запись 53 | 54 | 55 | Автоматический размер 56 | 57 | ### Закрепление / Dock 58 | Доступ: Чтение/Запись 59 | 60 | Тип значения: СтильЗакрепления 61 | 62 | Вариант закрепления. 63 | 64 | ### ПутьКДанным / DataPath 65 | Доступ: Чтение/Запись 66 | 67 | Провайдер с данными. 68 | 69 | ### ТекущаяСтрока / CurrentRow 70 | Доступ: Чтение/Запись 71 | 72 | Номер текущей строки таблицы. 73 | 74 | ### ТекущиеДанные / CurrentData 75 | Доступ: Чтение 76 | 77 | Тип значения: СтрокаДереваЗначений 78 | 79 | Представляет доступ к текущим данным (данным текущей строки). 80 | Возвращает соответствие с текстовым представлением данных. 81 | 82 | ### Колонки / Columns 83 | Доступ: Чтение 84 | 85 | Тип значения: Массив 86 | 87 | Колонки таблицы. 88 | 89 | ## Методы 90 | 91 | ### УстановитьДействие / SetAction() 92 | 93 | Установить обработчик события 94 | Возможные события: 95 | - ПриВыбореСтроки - Обработка события изменения значения 96 | - ПриВыборе - При нажатии Enter 97 | - ПриДвойномКлике - Обработка двойного клика 98 | 99 | #### Пример: 100 | 101 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыбореСтроки", "ПриВыбореСтроки"); 102 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике"); 103 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе"); 104 | 105 | 106 | #### Параметры 107 | 108 | * *contex*: Ссылка на скрипт в котором находится обработчик события 109 | 110 | * *eventName*: Имя обрабатываемого события. 111 | 112 | * *methodName*: Имя метода обработчика события 113 | 114 | ### ПолучитьДействие / GetAction() 115 | 116 | Получает имя установленного обработчика события. 117 | 118 | #### Пример: 119 | 120 | Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки"); 121 | Форма.ПолучитьДействие("ПриВыборе"); 122 | // вернет: "ПриВыбореЯчейки" 123 | 124 | 125 | #### Параметры 126 | 127 | * *eventName*: Имя события 128 | 129 | #### Возвращаемое значение 130 | 131 | Имя метода обработчика события 132 | 133 | ### Обновить / Refresh() 134 | 135 | Обновляет данные в таблице. -------------------------------------------------------------------------------- /oslib/docs/КнопкаФормы.md: -------------------------------------------------------------------------------- 1 | # КнопкаФормы / FormButton 2 | 3 | ## Свойства 4 | 5 | ### Родитель / Parent 6 | Доступ: Чтение 7 | 8 | Тип значения: ГруппаФормы, Форма 9 | 10 | Содержит ссылку на родительский элемент. 11 | 12 | ### Имя / Name 13 | Доступ: Чтение/Запись 14 | 15 | Уникальное имя элемента 16 | 17 | ### Видимость / Visible 18 | Доступ: Чтение/Запись 19 | 20 | Управление видимостью кнопки 21 | 22 | ### Доступность / Enabled 23 | Доступ: Чтение/Запись 24 | 25 | Управление доступностью 26 | 27 | ### Заголовок / Title 28 | Доступ: Чтение/Запись 29 | 30 | Надпись на кнопке 31 | 32 | ### Высота / Height 33 | Доступ: Чтение/Запись 34 | 35 | Высота кнопки 36 | 37 | ### Ширина / Width 38 | Доступ: Чтение/Запись 39 | 40 | Ширина кнопки 41 | 42 | ### АвтоматическийРазмер / AutoSize 43 | Доступ: Чтение/Запись 44 | 45 | Автоматический размер 46 | 47 | ### Закрепление / Dock 48 | Доступ: Чтение/Запись 49 | 50 | Тип значения: СтильЗакрепления 51 | 52 | Вариант закрепления. 53 | 54 | ## Методы 55 | 56 | ### УстановитьДействие / SetAction() 57 | 58 | Установить обработчик события. 59 | Возможные события: 60 | - Нажатие - Нажатие на кнопку 61 | 62 | #### Пример: 63 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 64 | 65 | #### Параметры 66 | 67 | * *contex*: Ссылка на скрипт в котором находится обработчик события 68 | 69 | * *eventName*: Имя обрабатываемого события 70 | 71 | * *methodName*: Имя метода обработчика события 72 | 73 | ### ПолучитьДействие / GetAction() 74 | 75 | Получает имя установленного обработчика события. 76 | 77 | #### Пример: 78 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 79 | Форма.ПолучитьДействие("ПриОткрытии"); 80 | // вернет: "ПриОткрытииФормы" 81 | 82 | 83 | #### Параметры 84 | 85 | * *eventName*: Имя события 86 | 87 | #### Возвращаемое значение 88 | 89 | Имя метода обработчика события 90 | 91 | ### КнопкаНажатие / ButtonClick() -------------------------------------------------------------------------------- /oslib/docs/КолонкаДерева.md: -------------------------------------------------------------------------------- 1 | # КолонкаДерева / FormTreeColumn 2 | 3 | ## Свойства 4 | 5 | ### Ширина / Width 6 | Доступ: Чтение/Запись 7 | 8 | Ширина 9 | 10 | ### Заголовок / Title 11 | Доступ: Чтение/Запись 12 | 13 | Заголовок 14 | 15 | ### Индекс / Index 16 | Доступ: Чтение 17 | 18 | Номер колонки -------------------------------------------------------------------------------- /oslib/docs/КолонкаТаблицыФормы.md: -------------------------------------------------------------------------------- 1 | # КолонкаТаблицыФормы / FormTableColumn 2 | 3 | Колонка элемента ТаблицаФормы 4 | 5 | ## Свойства 6 | 7 | ### Ширина / Width 8 | Доступ: Чтение/Запись 9 | 10 | Ширина 11 | 12 | ### Видимость / Visible 13 | Доступ: Чтение/Запись 14 | 15 | Видимость 16 | 17 | ### Заголовок / Title 18 | Доступ: Чтение/Запись 19 | 20 | Заголовок 21 | 22 | ### Индекс / Index 23 | Доступ: Чтение 24 | 25 | Номер колонки -------------------------------------------------------------------------------- /oslib/docs/ПолеФормы.md: -------------------------------------------------------------------------------- 1 | # ПолеФормы / FormField 2 | 3 | Предназначен для отображения и редактирования реквизитов формы. 4 | 5 | ## Свойства 6 | 7 | ### Значение / Value 8 | Доступ: Чтение/Запись 9 | 10 | Тип значения: Строка, Дата, Число 11 | 12 | Значение элемента формы. 13 | 14 | ### Вид / Type 15 | Доступ: Чтение/Запись 16 | 17 | Тип значения: ВидПоляФормы 18 | 19 | Определяет способ представления данных реквизита в форме. 20 | 21 | ### Имя / Name 22 | Доступ: Чтение/Запись 23 | 24 | Имя элемента 25 | 26 | ### Видимость / Visible 27 | Доступ: Чтение/Запись 28 | 29 | Управление видимостью 30 | 31 | ### Доступность / Enabled 32 | Доступ: Чтение/Запись 33 | 34 | Управление доступностью 35 | 36 | ### Заголовок / Title 37 | Доступ: Чтение/Запись 38 | 39 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 40 | 41 | ### ПоложениеЗаголовка / TitleLocation 42 | Доступ: Чтение/Запись 43 | 44 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 45 | 46 | Определяет положение заголовка относительно поля в макете формы. 47 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 48 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 49 | 50 | ### СписокВыбора / ChoiceList 51 | Доступ: Чтение/Запись 52 | 53 | Тип значения: Соответствие 54 | 55 | Установка / получение списка выбора для ПолеСоСписком, ПолеСписка 56 | 57 | ### Родитель / Parent 58 | Доступ: Чтение 59 | 60 | Тип значения: ГруппаФормы, Форма 61 | 62 | Содержит ссылку на родительский элемент. 63 | 64 | ### ТолькоПросмотр / ReadOnly 65 | Доступ: Чтение/Запись 66 | 67 | Содержит признак возможности/невозможности редактирования отображаемых данных. 68 | 69 | ### Высота / Height 70 | Доступ: Чтение/Запись 71 | 72 | Высота 73 | 74 | ### Ширина / Width 75 | Доступ: Чтение/Запись 76 | 77 | Ширина 78 | 79 | ### АвтоматическийРазмер / AutoSize 80 | Доступ: Чтение/Запись 81 | 82 | Автоматический размер 83 | 84 | ### Закрепление / Dock 85 | Доступ: Чтение/Запись 86 | 87 | Тип значения: СтильЗакрепления 88 | 89 | Вариант закрепления. 90 | 91 | ## Методы 92 | 93 | ### УстановитьДействие / SetAction() 94 | 95 | Установить обработчик события 96 | Возможные события: 97 | - ПриИзменении - Обработка события изменения значения 98 | - ПриВыборе - При нажатии Enter 99 | - ПриДвойномКлике - Обработка двойного клика (Событие только для ListBox) 100 | 101 | #### Пример: 102 | ПолеФормы1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзмененииПолеФормы1"); 103 | 104 | #### Параметры 105 | 106 | * *contex*: Ссылка на скрипт в котором находится обработчик события 107 | 108 | * *eventName*: Имя обрабатываемого события. 109 | 110 | * *methodName*: Имя метода обработчика события 111 | 112 | ### ПолучитьДействие / GetAction() 113 | 114 | Получает имя установленного обработчика события. 115 | 116 | #### Пример: 117 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 118 | Форма.ПолучитьДействие("ПриОткрытии"); 119 | // вернет: "ПриОткрытииФормы" 120 | 121 | 122 | #### Параметры 123 | 124 | * *eventName*: Имя события 125 | 126 | #### Возвращаемое значение 127 | 128 | Имя метода обработчика события -------------------------------------------------------------------------------- /oslib/docs/ПоложениеЗаголовкаЭлементаФормы.md: -------------------------------------------------------------------------------- 1 | # ПоложениеЗаголовкаЭлементаФормы / FormItemTitleLocation 2 | 3 | ## Свойства 4 | 5 | ### Авто / Auto 6 | Доступ: Чтение 7 | 8 | ### Верх / Top 9 | Доступ: Чтение 10 | 11 | ### Лево / Left 12 | Доступ: Чтение 13 | 14 | ### Нет / None 15 | Доступ: Чтение 16 | 17 | ### Низ / Bottom 18 | Доступ: Чтение 19 | 20 | ### Право / Right 21 | Доступ: Чтение 22 | -------------------------------------------------------------------------------- /oslib/docs/Провайдер.md: -------------------------------------------------------------------------------- 1 | # Провайдер / Provider 2 | 3 | Провайдер для данных ТаблицаФормы. Пока что поддерживается только ТаблицаЗначений. 4 | 5 | ## Свойства 6 | 7 | ### Источник / Source 8 | Доступ: Чтение/Запись 9 | 10 | Данные для отображения. 11 | 12 | ### ИсточникДерево / SourceTree 13 | Доступ: Чтение/Запись 14 | 15 | Данные для отображения. -------------------------------------------------------------------------------- /oslib/docs/ПростойГУИ.md: -------------------------------------------------------------------------------- 1 | # ПростойГУИ / SimpleGUI 2 | 3 | Фабрика для работы с формами 4 | 5 | ## Свойства 6 | 7 | ### Версия / Version 8 | Доступ: Чтение 9 | 10 | Номер версии библиотеки 11 | 12 | ## Методы 13 | 14 | ### СоздатьФорму / CreateForm() 15 | 16 | Создать форму 17 | 18 | #### Возвращаемое значение 19 | 20 | Возращает форму -------------------------------------------------------------------------------- /oslib/docs/СтильЗакрепления.md: -------------------------------------------------------------------------------- 1 | # СтильЗакрепления / DockStyle 2 | 3 | ## Свойства 4 | 5 | ### Нет / None 6 | Доступ: Чтение 7 | 8 | ### Верх / Top 9 | Доступ: Чтение 10 | 11 | ### Низ / Bottom 12 | Доступ: Чтение 13 | 14 | ### Лево / Left 15 | Доступ: Чтение 16 | 17 | ### Право / Right 18 | Доступ: Чтение 19 | 20 | ### Заполнение / Fill 21 | Доступ: Чтение -------------------------------------------------------------------------------- /oslib/docs/ТаблицаФормы.md: -------------------------------------------------------------------------------- 1 | # ТаблицаФормы / FormTable 2 | 3 | Элемент управляемой формы, предназначенный для отображения реквизитов формы табличных типов. 4 | 5 | ## Свойства 6 | 7 | ### Имя / Name 8 | Доступ: Чтение/Запись 9 | 10 | Имя элемента 11 | 12 | ### Видимость / Visible 13 | Доступ: Чтение/Запись 14 | 15 | Управление видимостью 16 | 17 | ### Доступность / Enabled 18 | Доступ: Чтение/Запись 19 | 20 | Управление доступностью 21 | 22 | ### Заголовок / Title 23 | Доступ: Чтение/Запись 24 | 25 | Заголовок к полю. Пустая строка означает автоматическое определение. Для отключения вывода заголовка следует установить свойство ПоложениеЗаголовка в значение Нет. 26 | 27 | ### ПоложениеЗаголовка / TitleLocation 28 | Доступ: Чтение/Запись 29 | 30 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 31 | 32 | Определяет положение заголовка относительно поля в макете формы. 33 | Следует заметить, что для отключения вывода заголовка следует установить это свойство в значение Нет. 34 | Свойство Заголовок, содержащее пустую строку, означает автоматическое определение заголовка, а не ее отключение. 35 | 36 | ### Родитель / Parent 37 | Доступ: Чтение 38 | 39 | Тип значения: ГруппаФормы, Форма 40 | 41 | Содержит ссылку на родительский элемент. 42 | 43 | ### Высота / Height 44 | Доступ: Чтение/Запись 45 | 46 | Высота 47 | 48 | ### Ширина / Width 49 | Доступ: Чтение/Запись 50 | 51 | Ширина 52 | 53 | ### АвтоматическийРазмер / AutoSize 54 | Доступ: Чтение/Запись 55 | 56 | Автоматический размер 57 | 58 | ### Закрепление / Dock 59 | Доступ: Чтение/Запись 60 | 61 | Тип значения: СтильЗакрепления 62 | 63 | Вариант закрепления. 64 | 65 | ### ПутьКДанным / DataPath 66 | Доступ: Чтение/Запись 67 | 68 | Провайдер с данными. 69 | 70 | ### ВыделенныеСтроки / SelectedRows 71 | Доступ: Чтение 72 | 73 | Тип значения: ArrayImpl 74 | 75 | Содержит массив номеров выделенных строк. 76 | 77 | ### ТекущаяСтрока / CurrentRow 78 | Доступ: Чтение/Запись 79 | 80 | Номер текущей строки таблицы. 81 | 82 | ### ТекущиеДанные / CurrentData 83 | Доступ: Чтение 84 | 85 | Представляет доступ к текущим данным (данным текущей строки). 86 | 87 | ### Колонки / Columns 88 | Доступ: Чтение 89 | 90 | Тип значения: Массив 91 | 92 | Колонки таблицы. 93 | 94 | ### ТекущийЭлемент / CurrentItem 95 | Доступ: Чтение 96 | 97 | Текущее поле в таблице. 98 | 99 | ## Методы 100 | 101 | ### УстановитьДействие / SetAction() 102 | 103 | Установить обработчик события 104 | Возможные события: 105 | - ПриПотереФокусаЯчейки - Обработка события изменения значения 106 | - ПриВыборе - При нажатии Enter 107 | - ПриДвойномКлике - Обработка двойного клика 108 | 109 | #### Пример: 110 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриПотереФокусаЯчейки", "ПриПотереФокусаЯчейки"); 111 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриДвойномКлике", "ПриДвойномКлике"); 112 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыборе"); 113 | 114 | #### Параметры 115 | 116 | * *contex*: Ссылка на скрипт в котором находится обработчик события 117 | 118 | * *eventName*: Имя обрабатываемого события. 119 | 120 | * *methodName*: Имя метода обработчика события 121 | 122 | ### ПолучитьДействие / GetAction() 123 | 124 | Получает имя установленного обработчика события. 125 | 126 | #### Пример: 127 | Форма.УстановитьДействие(ЭтотОбъект, "ПриВыборе", "ПриВыбореЯчейки"); 128 | Форма.ПолучитьДействие("ПриВыборе"); 129 | // вернет: "ПриВыбореЯчейки" 130 | 131 | #### Параметры 132 | 133 | * *eventName*: Имя события 134 | 135 | #### Возвращаемое значение 136 | 137 | Имя метода обработчика события 138 | 139 | ### Обновить / Refresh() 140 | 141 | Обновляет данные в таблице. -------------------------------------------------------------------------------- /oslib/docs/УправляемыйИнтерфейс.md: -------------------------------------------------------------------------------- 1 | # УправляемыйИнтерфейс / ManagedInterface 2 | 3 | Фабрика для работы с формами 4 | 5 | ## Свойства 6 | 7 | ### Версия / Version 8 | Доступ: Чтение 9 | 10 | Номер версии библиотеки 11 | 12 | ### СтильЗакрепления / DockStyle 13 | Доступ: Чтение 14 | 15 | Тип значения: СтильЗакрепления 16 | 17 | Системное перечисление. Вариант закрепления. 18 | 19 | ### ВидПоляФормы / FormFieldType 20 | Доступ: Чтение 21 | 22 | Тип значения: ВидПоляФормы 23 | 24 | Системное перечисление. 25 | 26 | ### ВидГруппыФормы / FormGroupType 27 | Доступ: Чтение 28 | 29 | Тип значения: ВидГруппыФормы 30 | 31 | Системное перечисление. 32 | 33 | ### ПоложениеЗаголовка / TitleLocation 34 | Доступ: Чтение 35 | 36 | Тип значения: ПоложениеЗаголовка 37 | 38 | Системное перечисление. 39 | 40 | ## Методы 41 | 42 | ### СоздатьФорму / CreateForm() 43 | 44 | Создать форму 45 | 46 | #### Возвращаемое значение 47 | 48 | УправляемаяФорма -------------------------------------------------------------------------------- /oslib/docs/Форма.md: -------------------------------------------------------------------------------- 1 | # Форма / Form 2 | 3 | Основной контейнер для отображения. 4 | Используется для доступа к свойствам, методам и событиям управляемой формы в целом, а также к коллекции ее элементов управления. 5 | 6 | ## Свойства 7 | 8 | ### ВидПоляФормы / FormFieldType 9 | Доступ: Чтение 10 | 11 | Тип значения: ВидПоляФормы 12 | 13 | Системное перечисление 14 | 15 | ### ВидГруппыФормы / FormGroupType 16 | Доступ: Чтение 17 | 18 | Тип значения: ВидГруппыФормы 19 | 20 | Системное перечисление 21 | 22 | ### ПоложениеЗаголовка / TitleLocation 23 | Доступ: Чтение 24 | 25 | Тип значения: ПоложениеЗаголовкаЭлементаФормы 26 | 27 | Системное перечисление 28 | 29 | ### Заголовок / Caption 30 | Доступ: Чтение/Запись 31 | 32 | Заголовок формы 33 | 34 | ### Родитель / Parent 35 | Доступ: Чтение 36 | 37 | Родитель формы. Всегда Неопределено 38 | 39 | ### Имя / Name 40 | Доступ: Чтение/Запись 41 | 42 | Имя формы 43 | 44 | ### Элементы / Items 45 | Доступ: Чтение 46 | 47 | Тип значения: Элементы 48 | 49 | Содержит коллекцию подчиненных элементов группы. 50 | 51 | ### АвтоматическийРазмер / AutoSize 52 | Доступ: Чтение/Запись 53 | 54 | Автоматический размер 55 | 56 | ### Высота / Height 57 | Доступ: Чтение/Запись 58 | 59 | Высота 60 | 61 | ### Ширина / Width 62 | Доступ: Чтение/Запись 63 | 64 | Ширина 65 | 66 | ### Закрепление / Dock 67 | Доступ: Чтение/Запись 68 | 69 | Неиспользуется. Создан для реализации интерфейса 70 | 71 | ### ТекущийЭлемент / CurrentItem 72 | Доступ: Запись 73 | 74 | Тип значения: ПолеФормы, ГруппаФормы, КнопкаФормы 75 | 76 | Устанавливает текущий активный элемент формы. 77 | 78 | ## Методы 79 | 80 | ### Показать / Show() 81 | 82 | Показать форму (показывает модально) 83 | 84 | ### ПоказатьНеМодально / ShowNotModal() 85 | 86 | Используется для прохождения тестов. Если открывать не модально сразу закроется и будут доступны другие методы 87 | 88 | ### Закрыть / Close() 89 | 90 | Закрыть форму 91 | 92 | ### УстановитьДействие / SetAction() 93 | 94 | Установить обработчик события. 95 | Возможные события: 96 | - ПриОткрытии - При первом открытии формы 97 | - ПриЗакрытии - При закрытии формы 98 | 99 | #### Пример: 100 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 101 | 102 | #### Параметры 103 | 104 | * *contex*: Ссылка на скрипт в котором находится обработчик события 105 | 106 | * *eventName*: Имя обрабатываемого события 107 | 108 | * *methodName*: Имя метода обработчика события 109 | 110 | ### ПолучитьДействие / GetAction() 111 | 112 | Получает имя установленного обработчика события. 113 | 114 | #### Пример: 115 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 116 | Форма.ПолучитьДействие("ПриОткрытии"); 117 | // вернет: "ПриОткрытииФормы" 118 | 119 | 120 | #### Параметры 121 | 122 | * *eventName*: Имя события 123 | 124 | #### Возвращаемое значение 125 | 126 | Имя метода обработчика события -------------------------------------------------------------------------------- /oslib/docs/Элементы.md: -------------------------------------------------------------------------------- 1 | # Элементы / Elements 2 | 3 | Содержит коллекцию подчиненных элементов. 4 | 5 | ## Свойства 6 | 7 | ## Методы 8 | 9 | ### Количество / Count() 10 | 11 | Получает количество элементов коллекции. 12 | 13 | #### Возвращаемое значение 14 | 15 | ### Найти / Find() 16 | 17 | Осуществляет поиск элемента управления с заданным именем. 18 | 19 | ### Удалить / Delete() 20 | 21 | Удаляет элемент из коллекции. 22 | 23 | #### Параметры 24 | 25 | * *Element*: , 26 | , 27 | Удаляемый элемент. 28 | 29 | ### Переместить / Move() 30 | 31 | Перемещает элемент коллекции. 32 | 33 | #### Параметры 34 | 35 | * *Element*: Перемещаемый элемент. 36 | 37 | * *ParentElement*: Новый родитель элемента. Может совпадать со старым. 38 | 39 | * *BeforeElement*: Элемент, перед которым нужно разместить перемещаемый элемент. Если не задан, то перемещается в конец коллекции. 40 | 41 | ### Добавить / Add() 42 | 43 | Вставляет элемент в коллекцию элементов. 44 | 45 | #### Параметры 46 | 47 | * *ElementName*: Уникальное имя добавляемого элемента. 48 | 49 | * *ElementType*: Тип добавляемого элемента. 50 | 51 | * *ElementParent*: Родитель для добавляемого элемента. Если не указан, то вставляется на верхний уровень. 52 | 53 | #### Возвращаемое значение 54 | 55 | Ссылка на созданый элемент -------------------------------------------------------------------------------- /oslib/examples/example-button-n-edit.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем Форма; 4 | 5 | Процедура Инициализация() 6 | 7 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 8 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 9 | 10 | //# Устанавливаем обработку события ПриОткрытии 11 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 12 | Форма.Показать(); 13 | 14 | КонецПроцедуры 15 | 16 | //# Обработка события первого открытия формы 17 | Процедура ПриОткрытииФормы() Экспорт 18 | 19 | ПолеВвода1 = Форма.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено); 20 | ПолеВвода1.Вид = Форма.ВидПоляФормы.ПолеВвода; 21 | ПолеВвода1.Заголовок = "Поле ввода"; 22 | ПолеВвода1.Значение = "Значение задано из скрипта"; 23 | 24 | Кнопка1 = Форма.Элементы.Добавить("Кнопка1", "КнопкаФормы", Неопределено); 25 | Кнопка1.Заголовок = "Нажми меня"; 26 | Кнопка1.УстановитьДействие(ЭтотОбъект, "Нажатие", "ПриНажатииНаКнопку1"); 27 | 28 | КонецПроцедуры 29 | 30 | Процедура ПриНажатииНаКнопку1() Экспорт 31 | Форма.Элементы.Найти("ПолеВвода1").Значение = "Значение после нажатия на кнопку"; 32 | КонецПроцедуры 33 | 34 | Инициализация(); -------------------------------------------------------------------------------- /oslib/examples/example-combobox-change-event.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | Перем Форма; 3 | 4 | Процедура Инициализация() 5 | 6 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 7 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 8 | 9 | //# Устанавливаем обработку события ПриОткрытии 10 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 11 | Форма.Показать(); 12 | 13 | КонецПроцедуры 14 | 15 | //# Обработка события первого открытия формы 16 | Процедура ПриОткрытииФормы() Экспорт 17 | 18 | Данные = Новый Соответствие; 19 | Данные.Вставить("1", "Один"); 20 | Данные.Вставить("2", "Два"); 21 | Данные.Вставить("3", "Три"); 22 | 23 | ПолеСоСписком1 = Форма.Элементы.Добавить("ПолеСоСписком1", "ПолеФормы", Неопределено); 24 | ПолеСоСписком1.Заголовок = "Поле со списком"; 25 | ПолеСоСписком1.Вид = Форма.ВидПоляФормы.ПолеСоСписком; 26 | ПолеСоСписком1.СписокВыбора = Данные; 27 | ПолеСоСписком1.Значение = "3"; 28 | ПолеСоСписком1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 29 | 30 | Форма.Высота = 80; 31 | 32 | КонецПроцедуры 33 | 34 | Процедура ПриИзменииЗначения() Экспорт 35 | Сообщить("Новое значение: " + Форма.Элементы.Найти("ПолеСоСписком1").Значение); 36 | КонецПроцедуры 37 | 38 | Инициализация(); -------------------------------------------------------------------------------- /oslib/examples/example-decoration.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем Форма; 4 | 5 | Процедура Инициализация() 6 | 7 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 8 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 9 | 10 | //# Устанавливаем обработку события ПриОткрытии 11 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 12 | Форма.Показать(); 13 | 14 | КонецПроцедуры 15 | 16 | //# Обработка события первого открытия формы 17 | Процедура ПриОткрытииФормы() Экспорт 18 | 19 | Декорация1 = Форма.Элементы.Добавить("Декорация1", "ПолеФормы", Неопределено); 20 | Декорация1.Вид = Форма.ВидПоляФормы.ПолеНадписи; 21 | Декорация1.Заголовок = "Это действительно работает!"; 22 | 23 | Форма.Высота = 100; 24 | 25 | КонецПроцедуры 26 | 27 | Инициализация(); -------------------------------------------------------------------------------- /oslib/examples/example-win-state-key-down.os: -------------------------------------------------------------------------------- 1 | #Использовать gui 2 | 3 | Перем ПолеВвода1; 4 | 5 | Процедура ПриНажатииНаКнопку() Экспорт 6 | если ПолеВвода1.НажатАльт тогда 7 | Сообщить("Альт нажат!"); 8 | КонецЕсли; 9 | Сообщить("Нажали: " + ПолеВвода1.КодНажатойКлавиши); 10 | КонецПроцедуры 11 | 12 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 13 | ТестФорма1 = УправляемыйИнтерфейс.СоздатьФорму(); 14 | ТестФорма1.СтартоваяПозиция = ПозицияОкнаПриОткрытии.Ручное; 15 | ТестФорма1.Верх = 100; 16 | ТестФорма1.Лево = 450; 17 | ТестФорма1.Иконка = "c:\Users\ushakov\Downloads\gconfeditor.ico"; 18 | Сообщить(ТестФорма1.Иконка); 19 | 20 | ТестФорма1.СостояниеОкна = СостояниеОкна.Обычное; 21 | 22 | ПолеВвода1 = ТестФорма1.Элементы.Добавить("ПолеВвода1", "ПолеФормы", Неопределено); 23 | ПолеВвода1.Вид = ТестФорма1.ВидПоляФормы.ПолеВвода; 24 | ПолеВвода1.Заголовок = "Поле ввода"; 25 | ПолеВвода1.Значение = "Значение задано из скрипта"; 26 | 27 | ПолеВвода1.УстановитьДействие(ЭтотОбъект, "ПриНажатииНаКнопку", "ПриНажатииНаКнопку"); 28 | 29 | ТестФорма1.Показать(); 30 | -------------------------------------------------------------------------------- /oslib/lib.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /oslib/opm-metadata.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | gui 4 | 1.0.2.1 5 | -------------------------------------------------------------------------------- /oslib/package-loader.os: -------------------------------------------------------------------------------- 1 | Процедура ПриЗагрузкеБиблиотеки(Путь, СтандартнаяОбработка, Отказ) 2 | 3 | СтандартнаяОбработка = Ложь; 4 | ПодключитьВнешнююКомпоненту(ОбъединитьПути(Путь, "bin\oscript-gui.dll")); 5 | 6 | КонецПроцедуры -------------------------------------------------------------------------------- /oslib/packagedef: -------------------------------------------------------------------------------- 1 | Описание 2 | // Имя библиотеки. Используется при именовании файлов пакета 3 | // и в `opm install <Имя>` 4 | .Имя("component") 5 | 6 | // Версия самой библиотеки 7 | .Версия("1.0.0") 8 | 9 | // `opm build` соберёт файл по шаблону <Имя>-<Версия>.ospx 10 | 11 | // Зависимости библиотеки (opm будет их устанавливать автоматически) 12 | //.ЗависитОт("ИмяНужнойБиблиотеки") 13 | //.ЗависитОт("ЕщёОдноИмяНужнойБиблиотеки") 14 | 15 | // Имя автора 16 | .Автор("Гениальный автор") 17 | // и почта для связи 18 | .АдресАвтора("genius@example.com") 19 | 20 | // Краткое описание, что же даёт эта библиотека людям 21 | .Описание("Очень нужная библиотека с кучей полезных плюшек") 22 | 23 | // .ВерсияСреды("1.0.15") // <- Если необходима определённая версия движка 24 | 25 | // Просто нужен 26 | .ВключитьФайл("lib.config") 27 | 28 | // Сюда будут складываться компоненты (см. appveyor.yml) 29 | .ВключитьФайл("bin") 30 | 31 | // Это файл автозагрузки, который подгружает компоненты из библиотеки 32 | .ВключитьФайл("package-loader.os") 33 | ; 34 | 35 | // vim: filetype=onescript 36 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-CalendarField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем УправляемыйИнтерфейс; 8 | 9 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 10 | 11 | СписокТестов = Новый Массив; 12 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 13 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 14 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 15 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 16 | 17 | Возврат СписокТестов; 18 | 19 | КонецФункции 20 | 21 | //# Работа с событиями 22 | Процедура ПриОткрытииФормы() Экспорт 23 | Форма.Закрыть(); 24 | КонецПроцедуры 25 | 26 | Функция ПолучитьФорму() 27 | 28 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 29 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 30 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 31 | ВидыПоляФормы = Форма.ВидПоляФормы; 32 | 33 | КонецФункции 34 | 35 | 36 | Процедура Тест_Должен_СоздатьПоле() Экспорт 37 | 38 | ПолучитьФорму(); 39 | 40 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 41 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 44 | 45 | Форма.Показать(); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 50 | 51 | ПолучитьФорму(); 52 | 53 | 54 | ТекДата = Дата(2016,05,02); 55 | 56 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 57 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 58 | Поле1.Значение = ТекДата; 59 | 60 | Форма.Показать(); 61 | 62 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(ТекДата); 63 | 64 | КонецПроцедуры 65 | 66 | //# Работа с событиями 67 | Процедура ПриИзменииЗначения() Экспорт 68 | ТекстПроверки = "Новое значение: "; 69 | КонецПроцедуры 70 | 71 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 72 | ПолучитьФорму(); 73 | 74 | ТекДата = Дата(2016,05,02); 75 | 76 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 77 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 78 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 79 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 80 | Поле1.Значение = ТекДата; 81 | Форма.Показать(); 82 | 83 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + ТекДата); 84 | 85 | КонецПроцедуры 86 | 87 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 88 | ПолучитьФорму(); 89 | 90 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 91 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 92 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 93 | 94 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 95 | 96 | Форма.Показать(); 97 | 98 | КонецПроцедуры 99 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-CheckBoxField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | 35 | Процедура Тест_Должен_СоздатьПоле() Экспорт 36 | 37 | ПолучитьФорму(); 38 | 39 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 40 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 41 | Поле1.Заголовок = "Флажок"; 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 44 | 45 | Форма.Показать(); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 50 | 51 | ПолучитьФорму(); 52 | 53 | СтрЗначение = Истина; 54 | 55 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 56 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 57 | Поле1.Значение = СтрЗначение; 58 | Поле1.Заголовок = "Флажок"; 59 | 60 | Форма.Показать(); 61 | 62 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение); 63 | 64 | КонецПроцедуры 65 | 66 | //# Работа с событиями 67 | Процедура ПриИзменииЗначения() Экспорт 68 | ТекстПроверки = "Новое значение: "; 69 | КонецПроцедуры 70 | 71 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 72 | ПолучитьФорму(); 73 | 74 | СтрЗначение = Истина; 75 | 76 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 77 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 78 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 79 | Поле1.Заголовок = "Флажок"; 80 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 81 | Поле1.Значение = СтрЗначение; 82 | Форма.Показать(); 83 | 84 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение); 85 | 86 | КонецПроцедуры 87 | 88 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 89 | ПолучитьФорму(); 90 | 91 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 92 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 93 | Поле1.Заголовок = "Флажок"; 94 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 95 | 96 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 97 | 98 | Форма.Показать(); 99 | 100 | КонецПроцедуры 101 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-ComboBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем Данные; 8 | 9 | Процедура Инициализация() 10 | 11 | Данные = Новый Соответствие; 12 | Данные.Вставить("Один", "1"); 13 | Данные.Вставить("Два", "2"); 14 | Данные.Вставить("Три", "3"); 15 | 16 | КонецПроцедуры 17 | 18 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 19 | 20 | СписокТестов = Новый Массив; 21 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 22 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 23 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 24 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 25 | 26 | Возврат СписокТестов; 27 | 28 | КонецФункции 29 | 30 | //# Работа с событиями 31 | Процедура ПриОткрытииФормы() Экспорт 32 | Форма.Закрыть(); 33 | КонецПроцедуры 34 | 35 | Функция ПолучитьФорму() 36 | 37 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 38 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 39 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 40 | ВидыПоляФормы = Форма.ВидПоляФормы; 41 | 42 | КонецФункции 43 | 44 | 45 | Процедура Тест_Должен_СоздатьПоле() Экспорт 46 | 47 | ПолучитьФорму(); 48 | 49 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 50 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 51 | 52 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 53 | 54 | Форма.Показать(); 55 | 56 | КонецПроцедуры 57 | 58 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 59 | 60 | ПолучитьФорму(); 61 | 62 | НовоеЗначение = "3"; 63 | 64 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 65 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 66 | Поле1.СписокВыбора = Данные; 67 | Поле1.Значение = НовоеЗначение; 68 | 69 | Форма.Показать(); 70 | 71 | Стр1 = Форма.Элементы.Найти("Поле1").Значение; 72 | //Сообщить("Нашли и значение: " + Стр1); 73 | 74 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 75 | 76 | КонецПроцедуры 77 | 78 | //# Работа с событиями 79 | Процедура ПриИзменииЗначения() Экспорт 80 | ТекстПроверки = "Новое значение: "; 81 | КонецПроцедуры 82 | 83 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 84 | ПолучитьФорму(); 85 | 86 | НовоеЗначение = "3"; 87 | 88 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 89 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 90 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 91 | Поле1.СписокВыбора = Данные; 92 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 93 | Поле1.Значение = НовоеЗначение; 94 | Форма.Показать(); 95 | 96 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 97 | 98 | КонецПроцедуры 99 | 100 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 101 | ПолучитьФорму(); 102 | 103 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 104 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 105 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 106 | 107 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 108 | 109 | Форма.Показать(); 110 | 111 | КонецПроцедуры 112 | 113 | ////////////////////////////////////////////////////////////////////////////////////// 114 | // Инициализация 115 | 116 | Инициализация(); 117 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-LabelField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | Процедура Тест_Должен_СоздатьПоле() Экспорт 35 | 36 | ПолучитьФорму(); 37 | 38 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 39 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | Форма.Показать(); 44 | 45 | КонецПроцедуры 46 | 47 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 48 | 49 | ПолучитьФорму(); 50 | 51 | СтрЗначение = "Декорация"; 52 | 53 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 54 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 55 | Поле1.Значение = СтрЗначение; 56 | 57 | Форма.Показать(); 58 | 59 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение); 60 | 61 | КонецПроцедуры 62 | 63 | //# Работа с событиями 64 | Процедура ПриИзменииЗначения() Экспорт 65 | ТекстПроверки = "Новое значение: "; 66 | КонецПроцедуры 67 | 68 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 69 | ПолучитьФорму(); 70 | 71 | СтрЗначение = "Декорация"; 72 | 73 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 74 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 75 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 76 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 77 | Поле1.Значение = СтрЗначение; 78 | Форма.Показать(); 79 | 80 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение); 81 | 82 | КонецПроцедуры 83 | 84 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 85 | ПолучитьФорму(); 86 | 87 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 88 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 89 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 90 | 91 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 92 | 93 | Форма.Показать(); 94 | 95 | КонецПроцедуры 96 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-ListBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем Данные; 8 | 9 | Процедура Инициализация() 10 | 11 | Данные = Новый Соответствие; 12 | Данные.Вставить("Один", "1"); 13 | Данные.Вставить("Два", "2"); 14 | Данные.Вставить("Три", "3"); 15 | 16 | КонецПроцедуры 17 | 18 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 19 | 20 | СписокТестов = Новый Массив; 21 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 22 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 23 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 24 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 25 | СписокТестов.Добавить("Тест_Должен_ОбработатьДвойнойКлик"); 26 | 27 | Возврат СписокТестов; 28 | 29 | КонецФункции 30 | 31 | //# Работа с событиями 32 | Процедура ПриОткрытииФормы() Экспорт 33 | Форма.Закрыть(); 34 | КонецПроцедуры 35 | 36 | Функция ПолучитьФорму() 37 | 38 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 39 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 40 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 41 | ВидыПоляФормы = Форма.ВидПоляФормы; 42 | 43 | КонецФункции 44 | 45 | 46 | Процедура Тест_Должен_СоздатьПоле() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 51 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 52 | Форма.Показать(); 53 | 54 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 55 | 56 | КонецПроцедуры 57 | 58 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 59 | 60 | ПолучитьФорму(); 61 | 62 | НовоеЗначение = "3"; 63 | 64 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 65 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 66 | Поле1.СписокВыбора = Данные; 67 | Поле1.Значение = НовоеЗначение; 68 | 69 | Форма.Показать(); 70 | 71 | // Стр1 = Форма.Элементы.Найти("Поле1").Значение; 72 | // Сообщить("Нашли и значение: " + Стр1); 73 | 74 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 75 | 76 | КонецПроцедуры 77 | 78 | //# Работа с событиями 79 | Процедура ПриИзменииЗначения() Экспорт 80 | ТекстПроверки = "Новое значение: "; 81 | КонецПроцедуры 82 | 83 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 84 | ПолучитьФорму(); 85 | 86 | НовоеЗначение = "3"; 87 | 88 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 89 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 90 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 91 | Поле1.СписокВыбора = Данные; 92 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 93 | Поле1.Значение = НовоеЗначение; 94 | Форма.Показать(); 95 | 96 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 97 | 98 | КонецПроцедуры 99 | 100 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 101 | ПолучитьФорму(); 102 | 103 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 104 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 105 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 106 | Форма.Показать(); 107 | 108 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 109 | 110 | КонецПроцедуры 111 | 112 | Процедура ОбработкаДвойногоКлика() Экспорт 113 | // ТекстПроверки = 114 | КонецПроцедуры 115 | 116 | Процедура Тест_Должен_ОбработатьДвойнойКлик() Экспорт 117 | ПолучитьФорму(); 118 | 119 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 120 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 121 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 122 | Форма.Показать(); 123 | 124 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 125 | 126 | КонецПроцедуры 127 | 128 | ////////////////////////////////////////////////////////////////////////////////////// 129 | // Инициализация 130 | 131 | Инициализация(); 132 | -------------------------------------------------------------------------------- /oslib/tests/test-FormField-TextDocumentField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | 35 | Процедура Тест_Должен_СоздатьПоле() Экспорт 36 | 37 | ПолучитьФорму(); 38 | 39 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 40 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 41 | Форма.Показать(); 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1"),"").Существует(); 44 | 45 | КонецПроцедуры 46 | 47 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 48 | 49 | ПолучитьФорму(); 50 | 51 | НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста."; 52 | 53 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 54 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 55 | Поле1.Значение = НовоеЗначение; 56 | 57 | Форма.Показать(); 58 | 59 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 60 | 61 | КонецПроцедуры 62 | 63 | //# Работа с событиями 64 | Процедура ПриИзменииЗначения() Экспорт 65 | ТекстПроверки = "Новое значение: "; 66 | КонецПроцедуры 67 | 68 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 69 | ПолучитьФорму(); 70 | 71 | НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста."; 72 | 73 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 74 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 75 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 76 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 77 | Поле1.Значение = НовоеЗначение; 78 | Форма.Показать(); 79 | 80 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 81 | 82 | КонецПроцедуры 83 | 84 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 85 | ПолучитьФорму(); 86 | 87 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 88 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 89 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 90 | 91 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении"),"Ошибка при получении действия").ЭтоНе().Равно(""); 92 | 93 | Форма.Показать(); 94 | 95 | КонецПроцедуры 96 | -------------------------------------------------------------------------------- /oslib/tests/test-FormGroup-Pages.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_СоздатьСтраницы"); 13 | СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение"); 14 | 15 | Возврат СписокТестов; 16 | 17 | КонецФункции 18 | 19 | //# Работа с событиями 20 | Процедура ПриОткрытииФормы() Экспорт 21 | Форма.Закрыть(); 22 | КонецПроцедуры 23 | 24 | Процедура ПолучитьФорму() 25 | 26 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 27 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 28 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 29 | ВидыПоляФормы = Форма.ВидГруппыФормы; 30 | 31 | КонецПроцедуры 32 | 33 | Процедура Тест_Должен_СоздатьПоле() Экспорт 34 | 35 | ПолучитьФорму(); 36 | 37 | Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено); 38 | Поле1.Вид = ВидыПоляФормы.Страницы; 39 | Форма.Показать(); 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | КонецПроцедуры 44 | 45 | 46 | Процедура Тест_Должен_СоздатьСтраницы() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | //# Создание страниц 51 | Страницы = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено); 52 | Страницы.Вид = Форма.ВидГруппыФормы.Страницы; 53 | Страницы.Заголовок = "Страницы"; 54 | 55 | Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы); 56 | Страница1.Вид = Форма.ВидГруппыФормы.Страница; 57 | Страница1.Заголовок = "Страница1"; 58 | Форма.Показать(); 59 | 60 | Ожидаем.Что(Форма.Элементы.Найти("Страницы1").Элементы.Найти("Страница1"), "Ошибка установки родителя").Равно(Страница1); 61 | 62 | КонецПроцедуры 63 | 64 | Процедура Тест_Должен_ОбработатьПеремещение() Экспорт 65 | 66 | ПолучитьФорму(); 67 | 68 | Страницы1 = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено); 69 | Страницы1.Вид = Форма.ВидГруппыФормы.Страницы; 70 | Страницы1.Заголовок = "Страницы"; 71 | 72 | Страницы2 = Форма.Элементы.Добавить("Страницы2", "ГруппаФормы", Неопределено); 73 | Страницы2.Вид = Форма.ВидГруппыФормы.Страницы; 74 | Страницы2.Заголовок = "Страницы"; 75 | 76 | Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы1); 77 | Страница1.Вид = Форма.ВидГруппыФормы.Страница; 78 | Страница1.Заголовок = "Страница1"; 79 | 80 | Форма.Элементы.Переместить(Страница1, Страницы2, Неопределено); 81 | Форма.Показать(); 82 | 83 | Ожидаем.Что(Страницы1.Элементы.Количество()).Равно(0); 84 | Ожидаем.Что(Страницы2.Элементы.Количество()).Равно(1); 85 | 86 | КонецПроцедуры 87 | -------------------------------------------------------------------------------- /oslib/tests/test-FormGroup-UsualGroup.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПеребратьПодчиненныеЭлементы"); 13 | СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение"); 14 | 15 | Возврат СписокТестов; 16 | 17 | КонецФункции 18 | 19 | //# Работа с событиями 20 | Процедура ПриОткрытииФормы() Экспорт 21 | Форма.Закрыть(); 22 | КонецПроцедуры 23 | 24 | Процедура ПолучитьФорму() 25 | 26 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 27 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 28 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 29 | ВидыПоляФормы = Форма.ВидГруппыФормы; 30 | 31 | КонецПроцедуры 32 | 33 | Процедура Тест_Должен_СоздатьПоле() Экспорт 34 | 35 | ПолучитьФорму(); 36 | 37 | Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено); 38 | Поле1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 39 | Форма.Показать(); 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | КонецПроцедуры 44 | 45 | 46 | Процедура Тест_Должен_ПеребратьПодчиненныеЭлементы() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено); 51 | Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 52 | 53 | Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1); 54 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 55 | 56 | Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1); 57 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 58 | 59 | СтрГрп1 = ""; 60 | Для каждого Элемент Из Группа1.Элементы Цикл 61 | СтрГрп1 = СтрГрп1 + "," + Элемент.Имя; 62 | КонецЦикла; 63 | 64 | СтрФрм = ""; 65 | Для каждого Элемент Из Форма.Элементы Цикл 66 | СтрФрм = СтрФрм + "," + Элемент.Имя; 67 | КонецЦикла; 68 | Форма.Показать(); 69 | 70 | Ожидаем.Что(Сред(СтрГрп1, 2)).Равно("Поле1,Поле2"); 71 | Ожидаем.Что(Сред(СтрФрм, 2)).Равно("Группа1"); 72 | 73 | КонецПроцедуры 74 | 75 | Процедура Тест_Должен_ОбработатьПеремещение() Экспорт 76 | 77 | ПолучитьФорму(); 78 | 79 | Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено); 80 | Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 81 | 82 | Группа2 = Форма.Элементы.Добавить("Группа2", "ГруппаФормы", Неопределено); 83 | Группа2.Вид = ВидыПоляФормы.ОбычнаяГруппа; 84 | 85 | Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1); 86 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 87 | 88 | Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1); 89 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 90 | 91 | Форма.Элементы.Переместить(Элемент1, Группа2, Неопределено); 92 | Форма.Показать(); 93 | 94 | Ожидаем.Что(Группа2.Элементы.Количество()).Равно(1); 95 | Ожидаем.Что(Группа1.Элементы.Количество()).Равно(1); 96 | Ожидаем.Что(Форма.Элементы.Количество()).Равно(2); 97 | 98 | КонецПроцедуры 99 | -------------------------------------------------------------------------------- /oslib/tests/test-ManagedFormInfo.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем Форма; 5 | Перем ТекстПроверки; 6 | 7 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 8 | 9 | СписокТестов = Новый Массив; 10 | 11 | СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриОткрытии"); 12 | СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриЗакрытии"); 13 | 14 | СписокТестов.Добавить("Тест_Должен_ПоказатьФормуСЗаголовком"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | Функция ПолучитьФорму() 21 | 22 | Форма = Неопределено; 23 | 24 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 25 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 26 | 27 | Возврат Форма; 28 | 29 | КонецФункции 30 | 31 | 32 | //# Работа с событиями 33 | Процедура ПриОткрытииФормы() Экспорт 34 | ТекстПроверки = "ПриОткрытииФормы"; 35 | Форма.Закрыть(); 36 | КонецПроцедуры 37 | 38 | Процедура Тест_Должен_УстановитьСобытиеПриОткрытии() Экспорт 39 | 40 | Форма = ПолучитьФорму(); 41 | ТекстПроверки = "Событие не отработало: "; 42 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 43 | Форма.Показать(); 44 | 45 | Ожидаем.Что(ТекстПроверки).Равно("ПриОткрытииФормы"); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура ПриЗакрытииФормы() Экспорт 50 | ТекстПроверки = "ПриЗакрытииФормы"; 51 | КонецПроцедуры 52 | 53 | Процедура Тест_Должен_УстановитьСобытиеПриЗакрытии() Экспорт 54 | 55 | ТекстПроверки = "Событие не отработало: "; 56 | Форма = ПолучитьФорму(); 57 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 58 | Форма.УстановитьДействие(ЭтотОбъект, "ПриЗакрытии", "ПриЗакрытииФормы"); 59 | Форма.Показать(); 60 | 61 | Ожидаем.Что(ТекстПроверки).Равно("ПриЗакрытииФормы"); 62 | 63 | КонецПроцедуры 64 | 65 | Процедура Тест_Должен_ПоказатьФормуСЗаголовком() Экспорт 66 | 67 | Форма = ПолучитьФорму(); 68 | Форма.Заголовок = "ЗаголовокСозданнойФормы"; 69 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 70 | Форма.Показать(); 71 | 72 | ТекущийЗаголовок = Форма.Заголовок; 73 | 74 | Ожидаем.Что(ТекущийЗаголовок).Равно("ЗаголовокСозданнойФормы"); 75 | 76 | КонецПроцедуры 77 | -------------------------------------------------------------------------------- /oslib/tests/test-QueryBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ТекстПроверки; 5 | Перем УпрИнтерфейс; 6 | Перем Диалоги; 7 | 8 | Процедура Инициализация() Экспорт 9 | УпрИнтерфейс = Новый УправляемыйИнтерфейс(); 10 | Диалоги = УпрИнтерфейс.СтандартныеДиалоги; 11 | КонецПроцедуры 12 | 13 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 14 | 15 | СписокТестов = Новый Массив; 16 | 17 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеНет"); 18 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеДа"); 19 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена"); 20 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК"); 21 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel"); 22 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена"); 23 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена"); 24 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить"); 25 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить"); 26 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить"); 27 | 28 | Возврат СписокТестов; 29 | 30 | КонецФункции 31 | 32 | Процедура Тест_Должен_ВернутьЗначениеНет() Экспорт 33 | 34 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1, КодВозвратаДиалога.Нет , "Заголовок", КодВозвратаДиалога.Нет); 35 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Нет); 36 | 37 | КонецПроцедуры 38 | 39 | Процедура Тест_Должен_ВернутьЗначениеДа() Экспорт 40 | 41 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1); 42 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Да); 43 | 44 | КонецПроцедуры 45 | 46 | Процедура Тест_Должен_ВернутьЗначениеОтмена() Экспорт 47 | 48 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНетОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена); 49 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена); 50 | 51 | КонецПроцедуры 52 | 53 | Процедура Тест_Должен_ВернутьЗначениеОК() Экспорт 54 | 55 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ОК, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК); 56 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК); 57 | 58 | КонецПроцедуры 59 | 60 | Процедура Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel() Экспорт 61 | 62 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.OKCancel, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК); 63 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК); 64 | 65 | КонецПроцедуры 66 | 67 | Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена() Экспорт 68 | 69 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1); 70 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить); 71 | 72 | КонецПроцедуры 73 | 74 | Процедура Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена() Экспорт 75 | 76 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена); 77 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена); 78 | 79 | КонецПроцедуры 80 | 81 | Процедура Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить() Экспорт 82 | 83 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1); 84 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Прервать); 85 | 86 | КонецПроцедуры 87 | 88 | Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить() Экспорт 89 | 90 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Повторить , "Заголовок", КодВозвратаДиалога.Повторить); 91 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить); 92 | 93 | КонецПроцедуры 94 | 95 | Процедура Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить() Экспорт 96 | 97 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Пропустить , "Заголовок", КодВозвратаДиалога.Пропустить); 98 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Пропустить); 99 | 100 | КонецПроцедуры 101 | 102 | ////////////////////////////////////////////////////////////////////////////////////// 103 | // Инициализация 104 | 105 | Инициализация(); 106 | -------------------------------------------------------------------------------- /packagedef: -------------------------------------------------------------------------------- 1 | Описание.Имя("gui") 2 | .Версия("1.1.2.3") 3 | .ВключитьФайл("bin") 4 | .ВключитьФайл("docs") 5 | .ВключитьФайл("examples") 6 | .ВключитьФайл("tests") 7 | .ВключитьФайл("package-loader.os") 8 | .ВключитьФайл("README.md") -------------------------------------------------------------------------------- /releases/gui.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/releases/gui.zip -------------------------------------------------------------------------------- /releases/oscript-gui-last-for-14.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ret-Phoenix/oscript-simple-gui/3998da9d46ad576eb84e3ef752ce7618031805a0/releases/oscript-gui-last-for-14.zip -------------------------------------------------------------------------------- /tests/test-FormField-CalendarField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем УправляемыйИнтерфейс; 8 | 9 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 10 | 11 | СписокТестов = Новый Массив; 12 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 13 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 14 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 15 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 16 | 17 | Возврат СписокТестов; 18 | 19 | КонецФункции 20 | 21 | //# Работа с событиями 22 | Процедура ПриОткрытииФормы() Экспорт 23 | Форма.Закрыть(); 24 | КонецПроцедуры 25 | 26 | Функция ПолучитьФорму() 27 | 28 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 29 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 30 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 31 | ВидыПоляФормы = Форма.ВидПоляФормы; 32 | 33 | КонецФункции 34 | 35 | 36 | Процедура Тест_Должен_СоздатьПоле() Экспорт 37 | 38 | ПолучитьФорму(); 39 | 40 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 41 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 44 | 45 | Форма.Показать(); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 50 | 51 | ПолучитьФорму(); 52 | 53 | 54 | ТекДата = Дата(2016,05,02); 55 | 56 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 57 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 58 | Поле1.Значение = ТекДата; 59 | 60 | Форма.Показать(); 61 | 62 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(ТекДата); 63 | 64 | КонецПроцедуры 65 | 66 | //# Работа с событиями 67 | Процедура ПриИзменииЗначения() Экспорт 68 | ТекстПроверки = "Новое значение: "; 69 | КонецПроцедуры 70 | 71 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 72 | ПолучитьФорму(); 73 | 74 | ТекДата = Дата(2016,05,02); 75 | 76 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 77 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 78 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 79 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 80 | Поле1.Значение = ТекДата; 81 | Форма.Показать(); 82 | 83 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + ТекДата); 84 | 85 | КонецПроцедуры 86 | 87 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 88 | ПолучитьФорму(); 89 | 90 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 91 | Поле1.Вид = ВидыПоляФормы.ПолеКалендаря; 92 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 93 | 94 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 95 | 96 | Форма.Показать(); 97 | 98 | КонецПроцедуры 99 | -------------------------------------------------------------------------------- /tests/test-FormField-CheckBoxField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | 35 | Процедура Тест_Должен_СоздатьПоле() Экспорт 36 | 37 | ПолучитьФорму(); 38 | 39 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 40 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 41 | Поле1.Заголовок = "Флажок"; 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 44 | 45 | Форма.Показать(); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 50 | 51 | ПолучитьФорму(); 52 | 53 | СтрЗначение = Истина; 54 | 55 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 56 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 57 | Поле1.Значение = СтрЗначение; 58 | Поле1.Заголовок = "Флажок"; 59 | 60 | Форма.Показать(); 61 | 62 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение); 63 | 64 | КонецПроцедуры 65 | 66 | //# Работа с событиями 67 | Процедура ПриИзменииЗначения() Экспорт 68 | ТекстПроверки = "Новое значение: "; 69 | КонецПроцедуры 70 | 71 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 72 | ПолучитьФорму(); 73 | 74 | СтрЗначение = Истина; 75 | 76 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 77 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 78 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 79 | Поле1.Заголовок = "Флажок"; 80 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 81 | Поле1.Значение = СтрЗначение; 82 | Форма.Показать(); 83 | 84 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение); 85 | 86 | КонецПроцедуры 87 | 88 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 89 | ПолучитьФорму(); 90 | 91 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 92 | Поле1.Вид = ВидыПоляФормы.ПолеФлажка; 93 | Поле1.Заголовок = "Флажок"; 94 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 95 | 96 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 97 | 98 | Форма.Показать(); 99 | 100 | КонецПроцедуры 101 | -------------------------------------------------------------------------------- /tests/test-FormField-ComboBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем Данные; 8 | 9 | Процедура Инициализация() 10 | 11 | Данные = Новый Соответствие; 12 | Данные.Вставить("1", "Один"); 13 | Данные.Вставить("2", "Два"); 14 | Данные.Вставить("3", "Три"); 15 | 16 | КонецПроцедуры 17 | 18 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 19 | 20 | СписокТестов = Новый Массив; 21 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 22 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 23 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 24 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 25 | 26 | Возврат СписокТестов; 27 | 28 | КонецФункции 29 | 30 | //# Работа с событиями 31 | Процедура ПриОткрытииФормы() Экспорт 32 | Форма.Закрыть(); 33 | КонецПроцедуры 34 | 35 | Функция ПолучитьФорму() 36 | 37 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 38 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 39 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 40 | ВидыПоляФормы = Форма.ВидПоляФормы; 41 | 42 | КонецФункции 43 | 44 | 45 | Процедура Тест_Должен_СоздатьПоле() Экспорт 46 | 47 | ПолучитьФорму(); 48 | 49 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 50 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 51 | 52 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 53 | 54 | Форма.Показать(); 55 | 56 | КонецПроцедуры 57 | 58 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 59 | 60 | ПолучитьФорму(); 61 | 62 | НовоеЗначение = "3"; 63 | 64 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 65 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 66 | Поле1.СписокВыбора = Данные; 67 | Поле1.Значение = НовоеЗначение; 68 | 69 | Форма.Показать(); 70 | 71 | Стр1 = Форма.Элементы.Найти("Поле1").Значение; 72 | 73 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 74 | 75 | КонецПроцедуры 76 | 77 | //# Работа с событиями 78 | Процедура ПриИзменииЗначения() Экспорт 79 | ТекстПроверки = "Новое значение: "; 80 | КонецПроцедуры 81 | 82 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 83 | ПолучитьФорму(); 84 | 85 | НовоеЗначение = "3"; 86 | 87 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 88 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 89 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 90 | Поле1.СписокВыбора = Данные; 91 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 92 | Поле1.Значение = НовоеЗначение; 93 | Форма.Показать(); 94 | 95 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 96 | 97 | КонецПроцедуры 98 | 99 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 100 | ПолучитьФорму(); 101 | 102 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 103 | Поле1.Вид = ВидыПоляФормы.ПолеСоСписком; 104 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 105 | 106 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 107 | 108 | Форма.Показать(); 109 | 110 | КонецПроцедуры 111 | 112 | ////////////////////////////////////////////////////////////////////////////////////// 113 | // Инициализация 114 | 115 | Инициализация(); 116 | -------------------------------------------------------------------------------- /tests/test-FormField-LabelField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | Процедура Тест_Должен_СоздатьПоле() Экспорт 35 | 36 | ПолучитьФорму(); 37 | 38 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 39 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | Форма.Показать(); 44 | 45 | КонецПроцедуры 46 | 47 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 48 | 49 | ПолучитьФорму(); 50 | 51 | СтрЗначение = "Декорация"; 52 | 53 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 54 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 55 | Поле1.Значение = СтрЗначение; 56 | 57 | Форма.Показать(); 58 | 59 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(СтрЗначение); 60 | 61 | КонецПроцедуры 62 | 63 | //# Работа с событиями 64 | Процедура ПриИзменииЗначения() Экспорт 65 | ТекстПроверки = "Новое значение: "; 66 | КонецПроцедуры 67 | 68 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 69 | ПолучитьФорму(); 70 | 71 | СтрЗначение = "Декорация"; 72 | 73 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 74 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 75 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 76 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 77 | Поле1.Значение = СтрЗначение; 78 | Форма.Показать(); 79 | 80 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + СтрЗначение); 81 | 82 | КонецПроцедуры 83 | 84 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 85 | ПолучитьФорму(); 86 | 87 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 88 | Поле1.Вид = ВидыПоляФормы.ПолеНадписи; 89 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 90 | 91 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 92 | 93 | Форма.Показать(); 94 | 95 | КонецПроцедуры 96 | -------------------------------------------------------------------------------- /tests/test-FormField-ListBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | Перем Данные; 8 | 9 | Процедура Инициализация() 10 | 11 | Данные = Новый Соответствие; 12 | Данные.Вставить("1", "Один"); 13 | Данные.Вставить("2", "Два"); 14 | Данные.Вставить("3", "Три"); 15 | 16 | КонецПроцедуры 17 | 18 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 19 | 20 | СписокТестов = Новый Массив; 21 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 22 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 23 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 24 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 25 | СписокТестов.Добавить("Тест_Должен_ОбработатьДвойнойКлик"); 26 | 27 | Возврат СписокТестов; 28 | 29 | КонецФункции 30 | 31 | //# Работа с событиями 32 | Процедура ПриОткрытииФормы() Экспорт 33 | Форма.Закрыть(); 34 | КонецПроцедуры 35 | 36 | Функция ПолучитьФорму() 37 | 38 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 39 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 40 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 41 | ВидыПоляФормы = Форма.ВидПоляФормы; 42 | 43 | КонецФункции 44 | 45 | 46 | Процедура Тест_Должен_СоздатьПоле() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 51 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 52 | Форма.Показать(); 53 | 54 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 55 | 56 | КонецПроцедуры 57 | 58 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 59 | 60 | ПолучитьФорму(); 61 | 62 | НовоеЗначение = "3"; 63 | 64 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 65 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 66 | Поле1.СписокВыбора = Данные; 67 | Поле1.Значение = НовоеЗначение; 68 | 69 | Форма.Показать(); 70 | 71 | // Стр1 = Форма.Элементы.Найти("Поле1").Значение; 72 | // Сообщить("Нашли и значение: " + Стр1); 73 | 74 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 75 | 76 | КонецПроцедуры 77 | 78 | //# Работа с событиями 79 | Процедура ПриИзменииЗначения() Экспорт 80 | ТекстПроверки = "Новое значение: "; 81 | КонецПроцедуры 82 | 83 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 84 | ПолучитьФорму(); 85 | 86 | НовоеЗначение = "3"; 87 | 88 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 89 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 90 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 91 | Поле1.СписокВыбора = Данные; 92 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 93 | Поле1.Значение = НовоеЗначение; 94 | Форма.Показать(); 95 | 96 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 97 | 98 | КонецПроцедуры 99 | 100 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 101 | ПолучитьФорму(); 102 | 103 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 104 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 105 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 106 | Форма.Показать(); 107 | 108 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 109 | 110 | КонецПроцедуры 111 | 112 | Процедура ОбработкаДвойногоКлика() Экспорт 113 | // ТекстПроверки = 114 | КонецПроцедуры 115 | 116 | Процедура Тест_Должен_ОбработатьДвойнойКлик() Экспорт 117 | ПолучитьФорму(); 118 | 119 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 120 | Поле1.Вид = ВидыПоляФормы.ПолеСписка; 121 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 122 | Форма.Показать(); 123 | 124 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении")).ЭтоНе().Равно(""); 125 | 126 | КонецПроцедуры 127 | 128 | ////////////////////////////////////////////////////////////////////////////////////// 129 | // Инициализация 130 | 131 | Инициализация(); 132 | -------------------------------------------------------------------------------- /tests/test-FormField-TextDocumentField.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПровестиРаботуСоЗначением"); 13 | СписокТестов.Добавить("Тест_Должен_УстановитьИПроверитьДействиеПриИзмении"); 14 | СписокТестов.Добавить("Тест_Должен_ПолучитьДействие"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | //# Работа с событиями 21 | Процедура ПриОткрытииФормы() Экспорт 22 | Форма.Закрыть(); 23 | КонецПроцедуры 24 | 25 | Функция ПолучитьФорму() 26 | 27 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 28 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 29 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 30 | ВидыПоляФормы = Форма.ВидПоляФормы; 31 | 32 | КонецФункции 33 | 34 | 35 | Процедура Тест_Должен_СоздатьПоле() Экспорт 36 | 37 | ПолучитьФорму(); 38 | 39 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 40 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 41 | Форма.Показать(); 42 | 43 | Ожидаем.Что(Форма.Элементы.Найти("Поле1"),"").Существует(); 44 | 45 | КонецПроцедуры 46 | 47 | Процедура Тест_Должен_ПровестиРаботуСоЗначением() Экспорт 48 | 49 | ПолучитьФорму(); 50 | 51 | НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста."; 52 | 53 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 54 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 55 | Поле1.Значение = НовоеЗначение; 56 | 57 | Форма.Показать(); 58 | 59 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").Значение).Равно(НовоеЗначение); 60 | 61 | КонецПроцедуры 62 | 63 | //# Работа с событиями 64 | Процедура ПриИзменииЗначения() Экспорт 65 | ТекстПроверки = "Новое значение: "; 66 | КонецПроцедуры 67 | 68 | Процедура Тест_Должен_УстановитьИПроверитьДействиеПриИзмении() Экспорт 69 | ПолучитьФорму(); 70 | 71 | НовоеЗначение = "Большой текст." + Символы.ВК + Символы.ПС + "Еще строка текста."; 72 | 73 | ТекстПроверки = "Событие не отработало: ПриИзменииЗначения: "; 74 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 75 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 76 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 77 | Поле1.Значение = НовоеЗначение; 78 | Форма.Показать(); 79 | 80 | Ожидаем.Что(ТекстПроверки + Форма.Элементы.Найти("Поле1").Значение).Равно("Новое значение: " + НовоеЗначение); 81 | 82 | КонецПроцедуры 83 | 84 | Процедура Тест_Должен_ПолучитьДействие() Экспорт 85 | ПолучитьФорму(); 86 | 87 | Поле1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Неопределено); 88 | Поле1.Вид = ВидыПоляФормы.ПолеТекстовогоДокумента; 89 | Поле1.УстановитьДействие(ЭтотОбъект, "ПриИзменении", "ПриИзменииЗначения"); 90 | 91 | Ожидаем.Что(Форма.Элементы.Найти("Поле1").ПолучитьДействие("ПриИзменении"),"Ошибка при получении действия").ЭтоНе().Равно(""); 92 | 93 | Форма.Показать(); 94 | 95 | КонецПроцедуры 96 | -------------------------------------------------------------------------------- /tests/test-FormGroup-Pages.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_СоздатьСтраницы"); 13 | СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение"); 14 | 15 | Возврат СписокТестов; 16 | 17 | КонецФункции 18 | 19 | //# Работа с событиями 20 | Процедура ПриОткрытииФормы() Экспорт 21 | Форма.Закрыть(); 22 | КонецПроцедуры 23 | 24 | Процедура ПолучитьФорму() 25 | 26 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 27 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 28 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 29 | ВидыПоляФормы = Форма.ВидГруппыФормы; 30 | 31 | КонецПроцедуры 32 | 33 | Процедура Тест_Должен_СоздатьПоле() Экспорт 34 | 35 | ПолучитьФорму(); 36 | 37 | Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено); 38 | Поле1.Вид = ВидыПоляФормы.Страницы; 39 | Форма.Показать(); 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | КонецПроцедуры 44 | 45 | 46 | Процедура Тест_Должен_СоздатьСтраницы() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | //# Создание страниц 51 | Страницы = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено); 52 | Страницы.Вид = Форма.ВидГруппыФормы.Страницы; 53 | Страницы.Заголовок = "Страницы"; 54 | 55 | Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы); 56 | Страница1.Вид = Форма.ВидГруппыФормы.Страница; 57 | Страница1.Заголовок = "Страница1"; 58 | Форма.Показать(); 59 | 60 | Ожидаем.Что(Форма.Элементы.Найти("Страницы1").Элементы.Найти("Страница1"), "Ошибка установки родителя").Равно(Страница1); 61 | 62 | КонецПроцедуры 63 | 64 | Процедура Тест_Должен_ОбработатьПеремещение() Экспорт 65 | 66 | ПолучитьФорму(); 67 | 68 | Страницы1 = Форма.Элементы.Добавить("Страницы1", "ГруппаФормы", Неопределено); 69 | Страницы1.Вид = Форма.ВидГруппыФормы.Страницы; 70 | Страницы1.Заголовок = "Страницы"; 71 | 72 | Страницы2 = Форма.Элементы.Добавить("Страницы2", "ГруппаФормы", Неопределено); 73 | Страницы2.Вид = Форма.ВидГруппыФормы.Страницы; 74 | Страницы2.Заголовок = "Страницы"; 75 | 76 | Страница1 = Форма.Элементы.Добавить("Страница1", "ГруппаФормы", Страницы1); 77 | Страница1.Вид = Форма.ВидГруппыФормы.Страница; 78 | Страница1.Заголовок = "Страница1"; 79 | 80 | Форма.Элементы.Переместить(Страница1, Страницы2, Неопределено); 81 | Форма.Показать(); 82 | 83 | Ожидаем.Что(Страницы1.Элементы.Количество()).Равно(0); 84 | Ожидаем.Что(Страницы2.Элементы.Количество()).Равно(1); 85 | 86 | КонецПроцедуры 87 | -------------------------------------------------------------------------------- /tests/test-FormGroup-UsualGroup.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ВидыПоляФормы; 5 | Перем Форма; 6 | Перем ТекстПроверки; 7 | 8 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 9 | 10 | СписокТестов = Новый Массив; 11 | СписокТестов.Добавить("Тест_Должен_СоздатьПоле"); 12 | СписокТестов.Добавить("Тест_Должен_ПеребратьПодчиненныеЭлементы"); 13 | СписокТестов.Добавить("Тест_Должен_ОбработатьПеремещение"); 14 | 15 | Возврат СписокТестов; 16 | 17 | КонецФункции 18 | 19 | //# Работа с событиями 20 | Процедура ПриОткрытииФормы() Экспорт 21 | Форма.Закрыть(); 22 | КонецПроцедуры 23 | 24 | Процедура ПолучитьФорму() 25 | 26 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 27 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 28 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 29 | ВидыПоляФормы = Форма.ВидГруппыФормы; 30 | 31 | КонецПроцедуры 32 | 33 | Процедура Тест_Должен_СоздатьПоле() Экспорт 34 | 35 | ПолучитьФорму(); 36 | 37 | Поле1 = Форма.Элементы.Добавить("Поле1", "ГруппаФормы", Неопределено); 38 | Поле1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 39 | Форма.Показать(); 40 | 41 | Ожидаем.Что(Форма.Элементы.Найти("Поле1")).Существует(); 42 | 43 | КонецПроцедуры 44 | 45 | 46 | Процедура Тест_Должен_ПеребратьПодчиненныеЭлементы() Экспорт 47 | 48 | ПолучитьФорму(); 49 | 50 | Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено); 51 | Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 52 | 53 | Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1); 54 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 55 | 56 | Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1); 57 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 58 | 59 | СтрГрп1 = ""; 60 | Для каждого Элемент Из Группа1.Элементы Цикл 61 | СтрГрп1 = СтрГрп1 + "," + Элемент.Имя; 62 | КонецЦикла; 63 | 64 | СтрФрм = ""; 65 | Для каждого Элемент Из Форма.Элементы Цикл 66 | СтрФрм = СтрФрм + "," + Элемент.Имя; 67 | КонецЦикла; 68 | Форма.Показать(); 69 | 70 | Ожидаем.Что(Сред(СтрГрп1, 2)).Равно("Поле1,Поле2"); 71 | Ожидаем.Что(Сред(СтрФрм, 2)).Равно("Группа1"); 72 | 73 | КонецПроцедуры 74 | 75 | Процедура Тест_Должен_ОбработатьПеремещение() Экспорт 76 | 77 | ПолучитьФорму(); 78 | 79 | Группа1 = Форма.Элементы.Добавить("Группа1", "ГруппаФормы", Неопределено); 80 | Группа1.Вид = ВидыПоляФормы.ОбычнаяГруппа; 81 | 82 | Группа2 = Форма.Элементы.Добавить("Группа2", "ГруппаФормы", Неопределено); 83 | Группа2.Вид = ВидыПоляФормы.ОбычнаяГруппа; 84 | 85 | Элемент1 = Форма.Элементы.Добавить("Поле1", "ПолеФормы", Группа1); 86 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 87 | 88 | Элемент1 = Форма.Элементы.Добавить("Поле2", "ПолеФормы", Группа1); 89 | Элемент1.Вид = Форма.ВидПоляФормы.ПолеВвода; 90 | 91 | Форма.Элементы.Переместить(Элемент1, Группа2, Неопределено); 92 | Форма.Показать(); 93 | 94 | Ожидаем.Что(Группа2.Элементы.Количество()).Равно(1); 95 | Ожидаем.Что(Группа1.Элементы.Количество()).Равно(1); 96 | Ожидаем.Что(Форма.Элементы.Количество()).Равно(2); 97 | 98 | КонецПроцедуры 99 | -------------------------------------------------------------------------------- /tests/test-ManagedFormInfo.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем Форма; 5 | Перем ТекстПроверки; 6 | 7 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 8 | 9 | СписокТестов = Новый Массив; 10 | 11 | СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриОткрытии"); 12 | СписокТестов.Добавить("Тест_Должен_УстановитьСобытиеПриЗакрытии"); 13 | 14 | СписокТестов.Добавить("Тест_Должен_ПоказатьФормуСЗаголовком"); 15 | 16 | Возврат СписокТестов; 17 | 18 | КонецФункции 19 | 20 | Функция ПолучитьФорму() 21 | 22 | Форма = Неопределено; 23 | 24 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 25 | Форма = УправляемыйИнтерфейс.СоздатьФорму(); 26 | 27 | Возврат Форма; 28 | 29 | КонецФункции 30 | 31 | 32 | //# Работа с событиями 33 | Процедура ПриОткрытииФормы() Экспорт 34 | ТекстПроверки = "ПриОткрытииФормы"; 35 | Форма.Закрыть(); 36 | КонецПроцедуры 37 | 38 | Процедура Тест_Должен_УстановитьСобытиеПриОткрытии() Экспорт 39 | 40 | Форма = ПолучитьФорму(); 41 | ТекстПроверки = "Событие не отработало: "; 42 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 43 | Форма.Показать(); 44 | 45 | Ожидаем.Что(ТекстПроверки).Равно("ПриОткрытииФормы"); 46 | 47 | КонецПроцедуры 48 | 49 | Процедура ПриЗакрытииФормы() Экспорт 50 | ТекстПроверки = "ПриЗакрытииФормы"; 51 | КонецПроцедуры 52 | 53 | Процедура Тест_Должен_УстановитьСобытиеПриЗакрытии() Экспорт 54 | 55 | ТекстПроверки = "Событие не отработало: "; 56 | Форма = ПолучитьФорму(); 57 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 58 | Форма.УстановитьДействие(ЭтотОбъект, "ПриЗакрытии", "ПриЗакрытииФормы"); 59 | Форма.Показать(); 60 | 61 | Ожидаем.Что(ТекстПроверки).Равно("ПриЗакрытииФормы"); 62 | 63 | КонецПроцедуры 64 | 65 | Процедура Тест_Должен_ПоказатьФормуСЗаголовком() Экспорт 66 | 67 | Форма = ПолучитьФорму(); 68 | Форма.Заголовок = "ЗаголовокСозданнойФормы"; 69 | Форма.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 70 | Форма.Показать(); 71 | 72 | ТекущийЗаголовок = Форма.Заголовок; 73 | 74 | Ожидаем.Что(ТекущийЗаголовок).Равно("ЗаголовокСозданнойФормы"); 75 | 76 | КонецПроцедуры 77 | -------------------------------------------------------------------------------- /tests/test-NotifyInTray.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | 5 | Перем юТест; 6 | Перем Форма; 7 | Перем ТекстПроверки; 8 | 9 | Процедура Инициализация() 10 | 11 | КонецПроцедуры 12 | 13 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 14 | 15 | юТест = Тестирование; 16 | 17 | СписокТестов = Новый Массив; 18 | 19 | СписокТестов.Добавить("Тест_Должен_ПоказатьУведомлениеВТрееСтандартнаяИконка"); 20 | СписокТестов.Добавить("Тест_Должен_ПоказатьУведомлениеВТрееБезУказанияИконки"); 21 | СписокТестов.Добавить("Тест_Должен_ПоказатьУведомлениеВТрееИконкаИзФайла"); 22 | 23 | Возврат СписокТестов; 24 | 25 | КонецФункции 26 | 27 | Процедура Тест_Должен_ПоказатьУведомлениеВТрееСтандартнаяИконка() Экспорт 28 | 29 | Трей = Новый УведомлениеВТрее(); 30 | Трей.Заголовок = "Стандартная иконка"; 31 | Трей.Текст = "Иконка из ресурсов библиотеки"; 32 | Трей.Таймаут = 15; 33 | Трей.Показать(); 34 | 35 | КонецПроцедуры 36 | 37 | Процедура Тест_Должен_ПоказатьУведомлениеВТрееБезУказанияИконки() Экспорт 38 | 39 | Трей = Новый УведомлениеВТрее(); 40 | Трей.Заголовок = "Стандартная иконка"; 41 | Трей.Текст = "Иконка из ресурсов библиотеки - при пустом свойстве Иконка"; 42 | Трей.Иконка = ""; 43 | Трей.Таймаут = 15; 44 | Трей.Показать(); 45 | 46 | КонецПроцедуры 47 | 48 | Процедура Тест_Должен_ПоказатьУведомлениеВТрееИконкаИзФайла() Экспорт 49 | 50 | Трей = Новый УведомлениеВТрее(); 51 | Трей.Заголовок = "Иконка из файла"; 52 | Трей.Текст = "Указан путь к иконке"; 53 | Трей.Иконка = "fixtures/fileroller.ico"; 54 | Трей.Таймаут = 15; 55 | Трей.Показать(); 56 | 57 | КонецПроцедуры 58 | 59 | 60 | ////////////////////////////////////////////////////////////////////////////////////// 61 | // Инициализация 62 | 63 | Инициализация(); 64 | -------------------------------------------------------------------------------- /tests/test-QueryBox.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ТекстПроверки; 5 | Перем УпрИнтерфейс; 6 | Перем Диалоги; 7 | 8 | Процедура Инициализация() Экспорт 9 | УпрИнтерфейс = Новый УправляемыйИнтерфейс(); 10 | Диалоги = УпрИнтерфейс.СтандартныеДиалоги; 11 | КонецПроцедуры 12 | 13 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 14 | 15 | СписокТестов = Новый Массив; 16 | 17 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеНет"); 18 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеДа"); 19 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена"); 20 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК"); 21 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel"); 22 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена"); 23 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена"); 24 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить"); 25 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить"); 26 | СписокТестов.Добавить("Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить"); 27 | 28 | Возврат СписокТестов; 29 | 30 | КонецФункции 31 | 32 | Процедура Тест_Должен_ВернутьЗначениеНет() Экспорт 33 | 34 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1, КодВозвратаДиалога.Нет , "Заголовок", КодВозвратаДиалога.Нет); 35 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Нет); 36 | 37 | КонецПроцедуры 38 | 39 | Процедура Тест_Должен_ВернутьЗначениеДа() Экспорт 40 | 41 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНет, 1); 42 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Да); 43 | 44 | КонецПроцедуры 45 | 46 | Процедура Тест_Должен_ВернутьЗначениеОтмена() Экспорт 47 | 48 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ДаНетОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена); 49 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена); 50 | 51 | КонецПроцедуры 52 | 53 | Процедура Тест_Должен_ВернутьЗначениеОК() Экспорт 54 | 55 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ОК, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК); 56 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК); 57 | 58 | КонецПроцедуры 59 | 60 | Процедура Тест_Должен_ВернутьЗначениеОК_ВызовOKCancel() Экспорт 61 | 62 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.OKCancel, 1, КодВозвратаДиалога.ОК , "Заголовок", КодВозвратаДиалога.ОК); 63 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.ОК); 64 | 65 | КонецПроцедуры 66 | 67 | Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПовторитьОтмена() Экспорт 68 | 69 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1); 70 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить); 71 | 72 | КонецПроцедуры 73 | 74 | Процедура Тест_Должен_ВернутьЗначениеОтмена_ВызовПовторитьОтмена() Экспорт 75 | 76 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПовторитьОтмена, 1, КодВозвратаДиалога.Отмена , "Заголовок", КодВозвратаДиалога.Отмена); 77 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Отмена); 78 | 79 | КонецПроцедуры 80 | 81 | Процедура Тест_Должен_ВернутьЗначениеПрервать_ВызовПрерватьПовторитьПропустить() Экспорт 82 | 83 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1); 84 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Прервать); 85 | 86 | КонецПроцедуры 87 | 88 | Процедура Тест_Должен_ВернутьЗначениеПовторить_ВызовПрерватьПовторитьПропустить() Экспорт 89 | 90 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Повторить , "Заголовок", КодВозвратаДиалога.Повторить); 91 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Повторить); 92 | 93 | КонецПроцедуры 94 | 95 | Процедура Тест_Должен_ВернутьЗначениеПропустить_ВызовПрерватьПовторитьПропустить() Экспорт 96 | 97 | Ответ = Диалоги.Вопрос("Тест", РежимДиалогаВопрос.ПрерватьПовторитьПропустить, 1, КодВозвратаДиалога.Пропустить , "Заголовок", КодВозвратаДиалога.Пропустить); 98 | Ожидаем.Что(Ответ).Равно(КодВозвратаДиалога.Пропустить); 99 | 100 | КонецПроцедуры 101 | 102 | ////////////////////////////////////////////////////////////////////////////////////// 103 | // Инициализация 104 | 105 | Инициализация(); 106 | -------------------------------------------------------------------------------- /tests/test-elements-1.os: -------------------------------------------------------------------------------- 1 | #Использовать asserts 2 | #Использовать gui 3 | 4 | Перем ТестФорма1 Экспорт; 5 | 6 | Функция ПолучитьСписокТестов(Тестирование) Экспорт 7 | 8 | СписокТестов = Новый Массив; 9 | СписокТестов.Добавить("Тест_Должен_ВернутьКоличествоЭлементовНоль"); 10 | 11 | Возврат СписокТестов; 12 | КонецФункции 13 | 14 | Процедура ПриОткрытииФормы() Экспорт 15 | ТестФорма1.Закрыть(); 16 | КонецПроцедуры 17 | 18 | Процедура ПолучитьФормуТест() Экспорт 19 | 20 | УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 21 | ТестФорма1 = УправляемыйИнтерфейс.СоздатьФорму(); 22 | ТестФорма1.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 23 | 24 | КонецПроцедуры 25 | 26 | Процедура Тест_Должен_ВернутьКоличествоЭлементовНоль() Экспорт 27 | ПолучитьФормуТест(); 28 | 29 | // УправляемыйИнтерфейс = Новый УправляемыйИнтерфейс(); 30 | // ТестФорма1 = УправляемыйИнтерфейс.СоздатьФорму(); 31 | // Сообщить("тип: "+ТестФорма1); 32 | // ТестФорма1.УстановитьДействие(ЭтотОбъект, "ПриОткрытии", "ПриОткрытииФормы"); 33 | ТестФорма1.Показать(); 34 | Ожидаем.Что(ТестФорма1.Элементы.Количество()).Равно(0); 35 | 36 | КонецПроцедуры --------------------------------------------------------------------------------