View Issue Details

IDProjectCategoryView StatusLast Update
0001941SAS.ПланетаРефакторинг / Refactoringpublic01-02-2015 09:11
Reporterzed Assigned Tozed  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionfixed 
Product Version121010 
Target Version150915Fixed in Version150915 
Summary0001941: Сделать универсальный фрейм выбора типа кэша
DescriptionПараметры, которые нужны фрейму
- добавлять ли тип кэша "По-умолчанию"
- ID кэша который нужно установить при старте

Возвращать должен ID выбранного кэша (в том числе, фрейм должен возвращать правильный ID для типа кэша "По-умолчанию")

Сейчас в нескольких местах повторяются почти идентичные функции вроде этой. Фрейм же должен помочь избавиться от дублирования кода и облегчить жизнь при добавлении нового (а вдруг?) типа кэша.
TagsNo tags attached.

Relationships

related to 0002014 resolvedvdemidov Перейти на ITileStorageType вместо прямого создания объектов классов 
related to 0002623 confirmed В фрейме выбора типа тайлохранилища добавить отбор допустимых типов 

Activities

vdemidov

30-05-2013 10:47

manager   ~0011464

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

vasketsov

10-06-2013 13:20

manager   ~0011623

Попробую временно сделать не через фрейм, а просто в отдельном модуле процедурки для комбобокса. Всё равно добавлять тип кэша, заодно и поглядим, где чего затронется. Логика будет идентичной, за исключением автовозврата реального ID для DEFAULT.

zed

31-01-2015 16:11

manager   ~0015194

Сделал фрейм и заюзал его в формах frm_Settings и frm_MapTypeEdit. Ещё осталось облагородить frm_CacheManager и fr_TilesCopy.

vdemidov

31-01-2015 17:07

manager   ~0015195

> Ещё осталось облагородить frm_CacheManager и fr_TilesCopy.
Там перед тем как облагораживать их нужно сделать write-only тайлохранилища для заархивированных файловых тайлохранилищ и соответсвующие фабрики для этих типов тайлохранилищ. Плюс в фрейм добавить параметры отбора допустимых для конкретного случая типов тайлохранилищ.

zed

31-01-2015 17:14

manager   ~0015196

> перед тем как облагораживать
Это можно сделать и после.

vdemidov

31-01-2015 17:30

manager   ~0015197

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

А без этого все опять сведется к развесистым case.

zed

31-01-2015 17:40

manager   ~0015198

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

vdemidov

31-01-2015 20:29

manager   ~0015207

Ну, как знаешь. Занимайся.

Issue History

Date Modified Username Field Change
29-05-2013 17:10 zed New Issue
29-05-2013 17:15 zed Description Updated
30-05-2013 10:47 vdemidov Note Added: 0011464
30-05-2013 10:47 vdemidov Status new => confirmed
10-06-2013 13:20 vasketsov Note Added: 0011623
11-07-2013 15:03 vdemidov Relationship added related to 0002014
31-01-2015 15:58 zed Assigned To => zed
31-01-2015 15:58 zed Status confirmed => assigned
31-01-2015 16:11 zed Note Added: 0015194
31-01-2015 16:11 zed Target Version 41xxxx => 150915
31-01-2015 17:07 vdemidov Note Added: 0015195
31-01-2015 17:14 zed Note Added: 0015196
31-01-2015 17:30 vdemidov Note Added: 0015197
31-01-2015 17:40 zed Note Added: 0015198
31-01-2015 20:29 vdemidov Note Added: 0015207
01-02-2015 09:11 zed Status assigned => resolved
01-02-2015 09:11 zed Fixed in Version => 150915
01-02-2015 09:11 zed Resolution open => fixed
02-02-2015 13:34 vdemidov Relationship added related to 0002623
08-08-2025 13:25 zed Category Рефакторинг => Рефакторинг / Refactoring