Приложение предназначено для запуска настольного варианта системы. Приложение содержит код формы рабочего стола. Форма рабочего стола наследуется от ICSSoft.STORMNET.Windows.Forms.Desktop
.
Форма рабочего стола предназначена для доработки и допрограммирования прикладным разработчиком в соответствии с прикладными требованиями.
Настройка рабочего стола
Рабочий стол представляет из себя следующее (внешний вид, пример):
В левой части — древовидная структура пунктов меню.
В правой части — список т.н. «стартеров» (Runner) для пункта меню, выбранного в левой части меню.
Программист может настроить состав, расположение и внешний вид пунктов меню, состав и внешний вид стартеров.
Настройка обеспечивается через специальный класс — настройщик рабочего стола, потомок от ICSSoft.STORMNET.UI.DesktopCustomizer. Настройщик рабочего стола устанавливается в свойство DesktopCustomizer
формы рабочего стола.
Для указания состава стартеров и размещения по пунктам меню, следует перегрузить в настройщике рабочего стола метод GetRunners()
, возвращающий одномерный массив стартеров ICSSoft.STORMNET.UI.Runner
.
Стартеры
Базовый стартер ICSSoft.STORMNET.UI.Runner
имеет:
- Путь по меню, уровни разделяются обратным слешем «\»;
- Заголовок;
- Описание.
Существует несколько специализированных стартёров:
ICSSoft.STORMNET.Windows.Forms.FormRunner
— стартер формы, отличающийся от стандартного тем, что имеется свойство — тип формы, которая должна открываться. Соответственно, стартер предназначен для открытия форм. МетодRun()
перегружен так, что конструирует форму и вызывает методShow()
;ICSSoft.STORMNET.UI.ContRunner
— стартер независимого спискового контейнера, одновременно запускающий находящийся в этом контейнере сценарий на исполнение. Имеет свойство — тип контейнера. МетодRun()
перегружен таким образом, что конструирует контейнер, достаёт сценарий и запускает его на выполнение.ICSSoft.STORMNET.UI.ScriptRunner
— стартер сценария, находящегося в указываемом типе, реализующем интерфейсScriptizer.DataObjects.IScripted
. МетодRun()
перегружен таким образом, что запускает этот сценарий на выполнение.
Существует возможность настроить стартеры для нужд конкретного приложения с целью реализации заданной функциональности или изменения базовой. В частности, можно перегрузить ряд методов:
GetBigImage(), GetImage()
для изменения иконки стартера;Run()
для реализации действия, происходящего при выборе с рабочего стола.
Форма
На форме рабочего стола приложения (<ИмяПриложения>Desktop.cs в стартовом проекте) у объекта desktopCtrl2 типа ICSSoft.STORMNET.Windows.Forms.DesktopCtrl есть следующие свойства:ИмяПриложения>
SortRunners
отвечает за сортировку элементов в дереве и в списке:true
- алфавитный порядокfalse
- без сортировки, порядок совпадает с порядком задания в Flexberry
ViewMode
отвечает за тип отображения элементов списка (иконки, список, таблица)Font
отвечает за шрифт элементов в дереве и в списке
Подробнее о контроле рабочего стола можно посмотреть в статье Контрол рабочего стола
Добавление собственных форм на рабочий стол
Чтобы добавить собственную форму на рабочий стол windows-приложения, необходимо:
- Открыть файл
<ИмяПроекта>DesktopCustomizer.cs
. - В файле найти метод
GetRunner()
. - В скобки программиста надо добавить необходимые
Стартеры
.
В результате должно получиться примерно следующее:
public override ICSSoft.STORMNET.UI.Runner[] GetRunners()
{
System.Collections.ArrayList arr = new System.Collections.ArrayList();
arr.AddRange(base.GetRunners());
// *** Start programmer edit section *** (Кредиты GetRunners())
// *** End programmer edit section *** (Кредиты GetRunners())
arr.Add(new ICSSoft.STORMNET.UI.ContRunner(typeof(IIS.Кредиты.КредитныйИнспекторL), "Система учета кредитов", "Кредитный инспектор", ""));
arr.Add(new ICSSoft.STORMNET.UI.ContRunner(typeof(IIS.Кредиты.КредитL), "Система учета кредитов", "Кредит", ""));
arr.Add(new ICSSoft.STORMNET.UI.ContRunner(typeof(IIS.Кредиты.КлиентL), "Система учета кредитов", "Клиент", ""));
// *** Start programmer edit section *** (Кредиты GetRunners() End)
arr.Add(new ICSSoft.STORMNET.UI.ContRunner(typeof(IIS.Кредиты.КлиентL), "Система учета кредитов\\Клиенты", "Клиенты", ""));
arr.Add(new ICSSoft.STORMNET.Windows.Forms.FormRunner(typeof(winformОтчеты), "Система учета кредитов", "Отчеты", ""));
// *** End programmer edit section *** (Кредиты GetRunners() End)
ICSSoft.STORMNET.UI.Runner[] retArray = new ICSSoft.STORMNET.UI.Runner[arr.Count];
arr.CopyTo(retArray);
return retArray;
}
Примечание1: Можно указывать путь в дереве пунктов меню.
Примечание2: Формы принято именовать c префиксом winform
.
После запуска приложения можно наблюдать следующую картину: