View Issue Details

IDProjectCategoryView StatusLast Update
0001751SAS.ПланетаРефакторинг / Refactoringpublic30-12-2021 08:59
Reportervdemidov Assigned Tovdemidov  
PrioritynormalSeverityminorReproducibilityhave not tried
Status assignedResolutionopen 
Product Version121010 
Target Version42xxxx 
Summary0001751: Вынести операции из пунктов главного меню главной формы в TActionList
DescriptionВынести операции из пунктов главного меню главной формы в TActionList, желательно лежащий в датамодуле. Датамодуль создвать в конструкторе главной формы и передавать ему все что надо через параметры конструктора.

Не уверен насколько просто это получиться сделать, но уже давно пора.
TagsNo tags attached.

Relationships

parent of 0003143 assignedvdemidov Переделать генерацию меню со списком карт 
child of 0001271 confirmed Возможность вынести на панель инструментов кнопки "поставить метку" и "сохранить трек в базе меток" 
child of 0002580 confirmed Настройка горячих клавиш для пунктов контекстного меню 
Not all the children of this issue are yet resolved or closed.

Activities

zed

12-02-2015 19:34

manager   ~0015236

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

vdemidov

12-02-2015 19:41

manager   ~0015237

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

vdemidov

12-02-2015 19:42

manager   ~0015238

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

zed

12-02-2015 19:48

manager   ~0015240

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

zed

12-02-2015 20:09

manager   ~0015241

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

vdemidov

12-02-2015 20:17

manager   ~0015242

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

vdemidov

12-02-2015 20:18

manager   ~0015243

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

zed

12-02-2015 20:19

manager   ~0015244

Обнадёжил :)

vdemidov

12-02-2015 20:31

manager   ~0015245

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

vdemidov

06-09-2016 20:18

manager   ~0017645

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

vdemidov

08-09-2016 12:06

manager   ~0017647

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

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

zed

09-09-2016 05:40

manager   ~0017648

Без понятия.

vdemidov

09-09-2016 07:47

manager   ~0017650

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

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

zed

09-09-2016 08:36

manager   ~0017651

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

vdemidov

09-09-2016 09:47

manager   ~0017652

Печально.

vdemidov

27-09-2016 08:58

manager   ~0017656

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

Garl

26-11-2016 08:36

manager   ~0017698

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

vdemidov

01-12-2016 08:28

manager   ~0017709

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

vdemidov

01-12-2016 08:30

manager   ~0017710

Last edited: 01-12-2016 08:31

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

vdemidov

17-12-2016 17:21

manager   ~0017747

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

Issue History

Date Modified Username Field Change
29-12-2012 09:44 vdemidov New Issue
29-12-2012 09:45 vdemidov Status new => confirmed
29-12-2012 09:45 vdemidov Product Version => 121010
29-12-2012 09:45 vdemidov Target Version 121010 => 43xxxx
29-12-2012 09:47 vdemidov Relationship added child of 0001271
23-01-2015 11:04 vdemidov Relationship added child of 0002580
12-02-2015 19:34 zed Note Added: 0015236
12-02-2015 19:41 vdemidov Note Added: 0015237
12-02-2015 19:42 vdemidov Note Added: 0015238
12-02-2015 19:48 zed Note Added: 0015240
12-02-2015 20:09 zed Note Added: 0015241
12-02-2015 20:17 vdemidov Note Added: 0015242
12-02-2015 20:18 vdemidov Note Added: 0015243
12-02-2015 20:19 zed Note Added: 0015244
12-02-2015 20:31 vdemidov Note Added: 0015245
06-09-2016 20:18 vdemidov Note Added: 0017645
08-09-2016 12:06 vdemidov Note Added: 0017647
09-09-2016 05:40 zed Note Added: 0017648
09-09-2016 07:47 vdemidov Note Added: 0017650
09-09-2016 08:36 zed Note Added: 0017651
09-09-2016 09:47 vdemidov Note Added: 0017652
27-09-2016 08:58 vdemidov Note Added: 0017656
27-09-2016 12:44 vdemidov Target Version 43xxxx => 181221
27-09-2016 12:50 vdemidov Assigned To => vdemidov
27-09-2016 12:50 vdemidov Status confirmed => assigned
17-10-2016 07:56 vdemidov Relationship added parent of 0003143
26-11-2016 08:36 Garl Note Added: 0017698
01-12-2016 08:28 vdemidov Note Added: 0017709
01-12-2016 08:30 vdemidov Note Added: 0017710
01-12-2016 08:31 vdemidov Note Edited: 0017710
17-12-2016 17:21 vdemidov Note Added: 0017747
01-12-2017 07:25 vdemidov Target Version 181221 => 190707
23-07-2019 14:16 vdemidov Target Version 190707 => 191221
23-07-2019 17:04 vdemidov Target Version 191221 => 211230
30-12-2021 08:59 zed Target Version 211230 => 42xxxx
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring