Приложение предназначено для запуска настольного варианта системы. Приложение содержит код формы рабочего стола. Форма рабочего стола наследуется от 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.
После запуска приложения можно наблюдать следующую картину:
