Просмотр задачи

НомерПроектКатегорияВидимостьИзменен
0001751SAS.ПланетаРефакторинг / Refactoringпубличная30-12-2021 08:59
Инициаторvdemidov Ответственныйvdemidov  
ПриоритетобычныйВлияниемалоеВоспроизводимостьне проверялась
Состояние назначенаРешениеоткрыта 
Версия продукта121010 
Целевая версия42xxxx 
Тема0001751: Вынести операции из пунктов главного меню главной формы в TActionList
ОписаниеВынести операции из пунктов главного меню главной формы в TActionList, желательно лежащий в датамодуле. Датамодуль создвать в конструкторе главной формы и передавать ему все что надо через параметры конструктора.

Не уверен насколько просто это получиться сделать, но уже давно пора.
МеткиНет связанных меток.

Связи

зависит от 0003143 назначенаvdemidov Переделать генерацию меню со списком карт 
блокирует 0001271 подтверждена Возможность вынести на панель инструментов кнопки "поставить метку" и "сохранить трек в базе меток" 
блокирует 0002580 подтверждена Настройка горячих клавиш для пунктов контекстного меню 
Не все зависимые задачи решены или закрыты.

Деятельность

zed

12-02-2015 19:34

руководитель   ~0015236

Т.е. ты предлагаешь половину кода из frmMain перенести в датамодуль? Хотя, там наверное даже не половина, а процентов 80 - различные обработчики OnClick.

vdemidov

12-02-2015 19:41

руководитель   ~0015237

В общем именно это и предлагаю. Сейчас файл главной формы просто таки несоразмерно огромный. Почти 8000 строк.

vdemidov

12-02-2015 19:42

руководитель   ~0015238

И это будет где-то половина кода. Там еще много инициализации.

zed

12-02-2015 19:48

руководитель   ~0015240

Да, достаточно грандиозная задача. Можешь начать и перенести пару пунктов для примера? А потом я подключусь и буду по-немного копи-пастить.

zed

12-02-2015 20:09

руководитель   ~0015241

Там ещё оно как-то должно быть завязано на TShortcutManager, чтобы он учитывал и ActionList. По крайней мере в переходный период, пока не перенесутся все пункты меню. А в последствии ShortcutManager должен будет ориентироваться только на этот лист и не зависеть от менюшки.

vdemidov

12-02-2015 20:17

руководитель   ~0015242

Легко сказать начать. Я пока к этому не готов. :) Но если ты займешься, то буду только рад. Я сейчас глубоко в матрицы тайлов закопался.

vdemidov

12-02-2015 20:18

руководитель   ~0015243

И что делать с TShortcutManager я еще тоже не решил. Точнее делать что-то нужно, и возможно даже до начала миграции в ActionList. Но как это лучше сделать я тоже не знаю. В общем вопросов дофига, а ответов у меня нет и пока не предвидится.

zed

12-02-2015 20:19

руководитель   ~0015244

Обнадёжил :)

vdemidov

12-02-2015 20:31

руководитель   ~0015245

Вполне может быть, что я вообще все усложняю, и достаточно просто копировать пункты меню в ActionList и просто потом назначать пуктам меню нужные действия и не париться. У меня просто очень мало опыта работы с такими вещами как ActionList и менюшки. Я больше по бекенду, а не по ГУИ специалист :)

vdemidov

06-09-2016 20:18

руководитель   ~0017645

Начал наполнять ActionList. Вроде бы проблем быть не должно, но будем смотреть.

vdemidov

08-09-2016 12:06

руководитель   ~0017647

А что специфичного у нас из TBX используется? Может реально обойтись стандартными TActionManager, TActionMainMenuBar и TActionToolBar?

Zed, Garl подскажите, а то я что-то не уверен в этом вопросе?

zed

09-09-2016 05:40

руководитель   ~0017648

Без понятия.

vdemidov

09-09-2016 07:47

руководитель   ~0017650

Zed, ты писал:
> Можешь начать и перенести пару пунктов для примера? А потом я подключусь и буду по-немного копи-пастить.
Начал. Можно продолжать. Предлагаю давать экшенам по возможности понятные имена с префиксом act как у тех что я уже сделал. Пока никакого дата модуля - пока будет проще просто TActionList. Думаю потом перенести все в более навороченный TActionManager будет уже не сложно. Код по возможности причесывать. Заменять проверку и установку Checked пунктов меню и тулбаров на соответствующее обращение к экшену. Генерируемые програмно пункты и подменю пока не трогаем.

Для сокращения конфликтов предлагаю коммитить и пушить максимально часто - в идеале после каждого пункта меню. Я буду идти по главному меню слева направо, но будет это не быстро.

zed

09-09-2016 08:36

руководитель   ~0017651

Да, писал. Только это было полтора года назад и у предложения уже истёк срок действия. Так что можешь рефакторить без опаски, конфликтов не будет.

vdemidov

09-09-2016 09:47

руководитель   ~0017652

Печально.

vdemidov

27-09-2016 08:58

руководитель   ~0017656

Забыл удалить NanimateClick

Garl

26-11-2016 08:36

руководитель   ~0017698

а теперь на закрытие панельки результатов поиска нельзя прикрепить хоткей? или я проглядел?

vdemidov

01-12-2016 08:28

руководитель   ~0017709

Да, судя по всему, потерялась такая возможность в процессе борьбы с лишними пунктами в списке хоткеев. Там добавилось условие, что у пункта меню должен быть обработчик или экшен, а у этих пунктов видимости панелей ни того ни другого нет.

vdemidov

01-12-2016 08:30

руководитель   ~0017710

Последние изменения: 01-12-2016 08:31

Но как мне надоел уже этот ГУЙ. Судя по всему нужно отвлечься. Займусь пока наработкой заготовок для реализации конвейеров подготовки видимого изображеня описанных здесь: http://www.sasgis.org/wikisasiya/doku.php/sasdev:конвейер_подготовки_видимого_изображения

vdemidov

17-12-2016 17:21

руководитель   ~0017747

Вернул хоткеи для панелек. И для результатов поиска в том числе.

История изменений

Дата изменения Пользователь Поле Изменить
29-12-2012 09:44 vdemidov Новая задача
29-12-2012 09:45 vdemidov Состояние новая => подтверждена
29-12-2012 09:45 vdemidov Версия продукта => 121010
29-12-2012 09:45 vdemidov Целевая версия 121010 => 43xxxx
29-12-2012 09:47 vdemidov Связь добавлена блокирует 0001271
23-01-2015 11:04 vdemidov Связь добавлена блокирует 0002580
12-02-2015 19:34 zed Комментарий добавлен: 0015236
12-02-2015 19:41 vdemidov Комментарий добавлен: 0015237
12-02-2015 19:42 vdemidov Комментарий добавлен: 0015238
12-02-2015 19:48 zed Комментарий добавлен: 0015240
12-02-2015 20:09 zed Комментарий добавлен: 0015241
12-02-2015 20:17 vdemidov Комментарий добавлен: 0015242
12-02-2015 20:18 vdemidov Комментарий добавлен: 0015243
12-02-2015 20:19 zed Комментарий добавлен: 0015244
12-02-2015 20:31 vdemidov Комментарий добавлен: 0015245
06-09-2016 20:18 vdemidov Комментарий добавлен: 0017645
08-09-2016 12:06 vdemidov Комментарий добавлен: 0017647
09-09-2016 05:40 zed Комментарий добавлен: 0017648
09-09-2016 07:47 vdemidov Комментарий добавлен: 0017650
09-09-2016 08:36 zed Комментарий добавлен: 0017651
09-09-2016 09:47 vdemidov Комментарий добавлен: 0017652
27-09-2016 08:58 vdemidov Комментарий добавлен: 0017656
27-09-2016 12:44 vdemidov Целевая версия 43xxxx => 181221
27-09-2016 12:50 vdemidov Ответственный => vdemidov
27-09-2016 12:50 vdemidov Состояние подтверждена => назначена
17-10-2016 07:56 vdemidov Связь добавлена зависит от 0003143
26-11-2016 08:36 Garl Комментарий добавлен: 0017698
01-12-2016 08:28 vdemidov Комментарий добавлен: 0017709
01-12-2016 08:30 vdemidov Комментарий добавлен: 0017710
01-12-2016 08:31 vdemidov Комментарий изменен: 0017710
17-12-2016 17:21 vdemidov Комментарий добавлен: 0017747
01-12-2017 07:25 vdemidov Целевая версия 181221 => 190707
23-07-2019 14:16 vdemidov Целевая версия 190707 => 191221
23-07-2019 17:04 vdemidov Целевая версия 191221 => 211230
30-12-2021 08:59 zed Целевая версия 211230 => 42xxxx
08-08-2025 13:25 zed Категория Рефакторинг => Рефакторинг / Refactoring