Рабочий стол приложения, настройка рабочего стола, добавление собственных форм

Приложение предназначено для запуска настольного варианта системы. Приложение содержит код формы рабочего стола. Форма рабочего стола наследуется от ICSSoft.STORMNET.Windows.Forms.Desktop.

Форма рабочего стола предназначена для доработки и допрограммирования прикладным разработчиком в соответствии с прикладными требованиями.

Настройка рабочего стола

Рабочий стол представляет из себя следующее (внешний вид, пример):

Рабочий стол winforms-приложения

В левой части — древовидная структура пунктов меню.

В правой части — список т.н. «стартеров» (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-приложения, необходимо:

  1. Открыть файл <ИмяПроекта>DesktopCustomizer.cs.
  2. В файле найти метод GetRunner().
  3. В скобки программиста надо добавить необходимые Стартеры.

В результате должно получиться примерно следующее:

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.

После запуска приложения можно наблюдать следующую картину:

Настройка рабочего стола

См. также