Re[14]: Появилось немного свободного времени...
От: SergeaS  
Дата: 11.06.03 15:23
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Вот набросок идеи: http://ccfit.nsu.ru/~dubrov/Style.zip


А нельзя-ли закачать, допустим, на RSDN, а то что-то сайт не грузится.
... << RSDN@Home 1.1 alpha 1 >>
Re[15]: Появилось немного свободного времени...
От: WFrag США  
Дата: 11.06.03 15:27
Оценка:
Здравствуйте, SergeaS, Вы писали:

SS>Здравствуйте, WFrag, Вы писали:


WF>>Вот набросок идеи: http://ccfit.nsu.ru/~dubrov/Style.zip


SS>А нельзя-ли закачать, допустим, на RSDN, а то что-то сайт не грузится.


Ну там сайта-то и нет. Вот на РСДН-е: http://www.rsdn.ru/File/15309/Style.zip
Re[10]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 15:31
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Подумал еще немного . Смысла делать xml с набором свойств, управляемых стилизатором, по-моему, нет. Все равно он будет сильно завязан на код, поэтому, все же, самый простой вариант будет сделать конфиг, такой же, как и Config.cs.


Да не нужнен отдельный конфиг. Просто нужно добавить цвета.

PS

Заниметесь трепом. Соделайте мне нормальную сериализацию свойств типа Color и я вам за час сделаю поддержку цветов. А схемы сделаете простым копированием (пробежитесь по свойствам отберете тольк те что относятся к цветам и шрифтам и скопруете их в отдельный хмле и на оборот).
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[14]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 15:31
Оценка:
Здравствуйте, WFrag, Вы писали:

Во. [XmlIgnore] — это все что было нужно.

Теперь о кривоте. Все же не здорово что программно будет видно два свойтсва одно текстовое, другое цетное. Нельзя ли сделать текстовое свойство протектед?
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[15]: Появилось немного свободного времени...
От: WFrag США  
Дата: 11.06.03 16:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, WFrag, Вы писали:


VD>Во. [XmlIgnore] — это все что было нужно.


VD>Теперь о кривоте. Все же не здорово что программно будет видно два свойтсва одно текстовое, другое цетное. Нельзя ли сделать текстовое свойство протектед?


Нельзя, XmlSerializer сериализует только публичные поля.

Или использовать не Color, а какой-нибудь CustomColor, который бы сериализовался XmlSerialize-ом (публичные поля были бы еще и на запись). Но тогда нужно будет сделать, чтобы PropertyGrid его правильно понимал. Еще нужно будет к нему ColorEditor прикрутить... Короче, ничего приятного .

В принципе, ничего плохого в двух свойствах нет . Разный взгляд на одни и те же данные.
... << RSDN@Home 1.1 alpha 1 >>
Re[11]: Появилось немного свободного времени...
От: WFrag США  
Дата: 11.06.03 16:23
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да не нужнен отдельный конфиг. Просто нужно добавить цвета.


VD>PS


VD>Заниметесь трепом. Соделайте мне нормальную сериализацию свойств типа Color и я вам за час сделаю поддержку цветов. А схемы сделаете простым копированием (пробежитесь по свойствам отберете тольк те что относятся к цветам и шрифтам и скопруете их в отдельный хмле и на оборот).


Нет, лучше отдельную закладку сделать. Нефиг все в одну кучу кидать.


P.S. А насчет трепа — лучше все заранее обдумать. Торопиться с кодингом не стоит, все же нет цели сделать функциональность за ограниченный срок. Тем более стили — это не так критично
... << RSDN@Home 1.1 alpha 1 >>
Re[7]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 18:14
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Вот только нужно не только цвета, но еще и шрифты хотя бы настраивать.


VD>Да какая разница. Если задать фрифт для формы/контрола, то все цвета и шрифты которые небыли заданы вручную будут считаны с парента.


Но для парента то задать надо? Да и потом — у браузера от парента ничего не отнаследуется, надо стили править.
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[8]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 18:18
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Да. Я вот дернулся... думал все просто. А оказалоь, что не очень.


Ну так поиск или спросить.

VD>Мне нужно в программе иметь доступ к ывету, а не к стороке (иначе будут тромоза).


Да никаких проблем. Сделай два свойства — одно для сериализации, другое для доступа. Или кешируй внутри своих классов

VD>Да и самому броузеру свойство тоже нужен колор (он, то вотличии от кривого сериалайзера цвет понимает).


Блин, надоели твои вопли уже про кривоту. Надо разобраться, а потом орать. Я тебе еще раз говорю — это нормальное явление, сериалайзер работает именно так как должен.

VD>А сериализовать нужно именно строку. Конвертер конечно есть, но вызывать его должен именно сериалайзер. Надо бы что-то там поправит, если публичных свойств нет, чтобы производилась попытка конвертировать в строку.


Слишком многого ты от него хочешь. Если подобные выверты реализовывать, то получится нафик икому не нужный монстр. Тем им хорош XmlSerializer, что все его действия подконтрольны. И слава богу что в нем нет такой хитрой и неочевидной логики.

AVK>>Сериализатор тут не при чем. При чем Color.


VD>Не надо песен. Форматеры цвет сохраняют влет. Он атрибутом Serializable помечен.


XmlSerializer это не форматтер.

AVK>>Эта задача уже решена, называется ColorTypeConvertor.


VD>Языком. А ты сделай чтобы твой конфиг цвета сериализовал.


А сам что, не можешь?

AVK>>Я думаю не стоит в конфиге хранить всю схему. Лучше только имя файла, а саму схему в отдельном файле, чтобы человек мог просто готовый файл скачать.


VD>Зачем эти сложности? Ваши схемы — это не боле чем набор цветов, который просто нужно в тупую копировать поверх текущих.


VD>Не надо делать извращений. Иначе нельзя будет поменять один цвет.


Ну ну. Если я захочу схему с сайта поставить мне придется руками конфиг править? Может это как раз и есть извращение?
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[12]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 18:26
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>P.S. А насчет трепа — лучше все заранее обдумать. Торопиться с кодингом не стоит, все же нет цели сделать функциональность за ограниченный срок.


Слова не мальчика, но мужа
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[12]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 19:10
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Нет, лучше отдельную закладку сделать. Нефиг все в одну кучу кидать.


Какую кучу? Будет раздел "Цвета". Нафиг мне 22 закладки? А галвное, нафиг мне два одинаковых конфига?

WF>P.S. А насчет трепа — лучше все заранее обдумать. Торопиться с кодингом не стоит, все же нет цели сделать функциональность за ограниченный срок. Тем более стили — это не так критично


Нам нужно уже сейчас цвета для подсветки своих сообщений. И это критично.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[16]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 19:10
Оценка:
Здравствуйте, WFrag, Вы писали:

WF>Нельзя, XmlSerializer сериализует только публичные поля.


Хорошо. А есть какой-нить IXmlSerializeble? Можно ручную сериализацию для цвета или обртки над ним сделать?

WF>Или использовать не Color, а какой-нибудь CustomColor, который бы сериализовался XmlSerialize-ом (публичные поля были бы еще и на запись). Но тогда нужно будет сделать, чтобы PropertyGrid его правильно понимал. Еще нужно будет к нему ColorEditor прикрутить... Короче, ничего приятного .




WF>В принципе, ничего плохого в двух свойствах нет . Разный взгляд на одни и те же данные.


Это и плохо. Не смертельно. Но плохо.

Ладно. Пока пусть так.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 19:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Но для парента то задать надо?


А кому мешает?

AVK> Да и потом — у браузера от парента ничего не отнаследуется, надо стили править.


Дам где не прокатит придется вручную устанавлиать. Тоже не смертельно.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 19:10
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>Да. Я вот дернулся... думал все просто. А оказалоь, что не очень.


AVK>Ну так поиск или спросить.


Я у тебя спросил. Более того проситл тебя сделать. Ты вредничать начал.

AVK>Да никаких проблем. Сделай два свойства — одно для сериализации, другое для доступа. Или кешируй внутри своих классов


Два — это криво. Хотя похоже другого выхода нет. Вернее другой — это совсем сложно. А кэшировать — это тоже криво, неудобно.

VD>Да и самому броузеру свойство тоже нужен колор (он, то вотличии от кривого сериалайзера цвет понимает).


AVK>Блин, надоели твои вопли уже про кривоту. Надо разобраться, а потом орать. Я тебе еще раз говорю — это нормальное явление,


В чем? Все и так ясно. Схема сериализации отлична от той на которую рассчитан Color (не стандартная). От сюда и проблемы.

AVK>сериалайзер работает именно так как должен.


Он работает плохо. Не удобно. Средств расширения нет. Нефига защищать кривые вещи.

AVK>Слишком многого ты от него хочешь. Если подобные выверты реализовывать, то получится нафик икому не нужный монстр. Тем им хорош XmlSerializer, что все его действия подконтрольны. И слава богу что в нем нет такой хитрой и неочевидной логики.


Какой монстр? Все форматеры цвет едет на ура. В КодДом он сериализуется влет. А этот не может. Кривь — это.

AVK>XmlSerializer это не форматтер.


Ну, и? КодДом тоже. Но тем не менее цвет жрет. В общем, еще раз. Не придумывай орпавдания для надоделанных решений. Может где-то его и достаточно, но нам бы как раз подходит плохо.

AVK>>Эта задача уже решена, называется ColorTypeConvertor.

VD>Языком. А ты сделай чтобы твой конфиг цвета сериализовал.
AVK>А сам что, не можешь?

Если бы мог, давно сдела бы. Я в его алгоритмах ни ухом ни рылом.

AVK>Ну ну. Если я захочу схему с сайта поставить мне придется руками конфиг править? Может это как раз и есть извращение?


Зачем? Сделай отдельное свойство "Цветовая схема". Или отдельную закладку. На ней выдавай список схем (из хмл-ных файлов) и просто коприуй значения из выбранной в конфиг. Просто, удобно и всегда можно зименить одно значение не меняя всей схемы.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 19:30
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Ну так поиск или спросить.


VD>Я у тебя спросил.


Я тебе ответил

VD>Более того проситл тебя сделать. Ты вредничать начал.


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

AVK>>Блин, надоели твои вопли уже про кривоту. Надо разобраться, а потом орать. Я тебе еще раз говорю — это нормальное явление,


VD>В чем? Все и так ясно. Схема сериализации отлична от той на которую рассчитан Color (не стандартная).


Не надо путать XmlSerializer и форматтеры, ну сколько можно повторять. XmlSerializer не предназначен для хранения любых классов, он предназначен для автоматического преобразования определенных классов в заданную структуру. Т.е фактически просто способ упростить чтение/запись данных в/из xml. Вот из этого и надо исходить.

VD>Он работает плохо. Не удобно. Средств расширения нет. Нефига защищать кривые вещи.


Средства расширения есть и нормально он работает. Просто цели и задачи у него совершенно иные. Хочешь универсальной сериализации любых объектов, пользуй форматтер. XmlSerializer не для этого.

VD>Какой монстр? Все форматеры цвет едет на ура.


Потому что это форматтеры, у них задача сериализовать все и вся.

VD>В КодДом он сериализуется влет.


Потому что TypeConverter для Color специально заточен под это и умеет преобразовывать его в InstanceDescriptor.

AVK>>XmlSerializer это не форматтер.


VD>Ну, и?


Ну и не надо от него требовать свойств форматтера.

VD> КодДом тоже. Но тем не менее цвет жрет.


Потому что Color специально под CodeDOM заточен.

AVK>>А сам что, не можешь?


VD>Если бы мог, давно сдела бы. Я в его алгоритмах ни ухом ни рылом.


А тебе не надо никаких алгоритмов знать. Тебе просто нужно объявить два свойства:
private Color _SomeColor;

[XmlIgnore]
public Color SomeColor
{
    get { return _SomeColor; }
    set { _SomeColor = value; }
}

[Browsable(false)]
public string SerSomeColor
{
    get { TypeDescriptor.GetConverter(typeof (Color)).ConvertToString(_SomeColor);}
    set { _SomeColor = TypeDescriptor.GetConverter(typeof (Color)).ConvertFromString(value); }
}



AVK>>Ну ну. Если я захочу схему с сайта поставить мне придется руками конфиг править? Может это как раз и есть извращение?


VD>Зачем? Сделай отдельное свойство "Цветовая схема". Или отдельную закладку. На ней выдавай список схем (из хмл-ных файлов) и просто коприуй значения из выбранной в конфиг. Просто, удобно и всегда можно зименить одно значение не меняя всей схемы.


Не знаю, не нравится мне это решение, слишком много телодвижений.
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[17]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 19:33
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Хорошо. А есть какой-нить IXmlSerializeble?


Есть

VD>Можно ручную сериализацию для цвета или обртки над ним сделать?


Для цвета нельзя, это структура. А для обертки придется еще свой Editor писать, но для обертки XmlSerializable не нужен.
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[11]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 20:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, VladD2, Вы писали:


AVK>>Ну так поиск или спросить.


VD>Я у тебя спросил.


AVK>Я тебе ответил


Точнее сказать отбрехался.

AVK>Не надо путать XmlSerializer и форматтеры, ну сколько можно повторять. XmlSerializer не предназначен для хранения любых классов, он предназначен для автоматического преобразования определенных классов в заданную структуру. Т.е фактически просто способ упростить чтение/запись данных в/из xml. Вот из этого и надо исходить.


Значит в данном случае он использован не по назначению. В конфиге должны сериализоваться любые типы.

AVK>А тебе не надо никаких алгоритмов знать. Тебе просто нужно объявить два свойства:

AVK>
AVK>private Color _SomeColor;

AVK>[XmlIgnore]
AVK>public Color SomeColor
AVK>{
AVK>    get { return _SomeColor; }
AVK>    set { _SomeColor = value; }
AVK>}

AVK>[Browsable(false)]
AVK>public string SerSomeColor
AVK>{
AVK>    get { TypeDescriptor.GetConverter(typeof (Color)).ConvertToString(_SomeColor);}
AVK>    set { _SomeColor = TypeDescriptor.GetConverter(typeof (Color)).ConvertFromString(value); }
AVK>}
AVK>


Собственно это от тебя и росли. Если бы ты не вредничал, давно уже были бы настраиваемые цвета.

VD>Зачем? Сделай отдельное свойство "Цветовая схема". Или отдельную закладку. На ней выдавай список схем (из хмл-ных файлов) и просто коприуй значения из выбранной в конфиг. Просто, удобно и всегда можно зименить одно значение не меняя всей схемы.


AVK>Не знаю, не нравится мне это решение, слишком много телодвижений.


Каких? Не придумывай находу. В любом другом случае траха будт в разы больше.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[18]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.06.03 20:40
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>Хорошо. А есть какой-нить IXmlSerializeble?


AVK>Есть


Ну, так может написать обертку? Не трахаться же так каждый раз?

AVK>Для цвета нельзя, это структура. А для обертки придется еще свой Editor писать, но для обертки XmlSerializable не нужен.


Зачем свой? Редактор уже есть. Нужно только перемап сделать. Чтобы он вместо самого класса цвет менял.
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[12]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 21:20
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Я тебе ответил


VD>Точнее сказать отбрехался.


Что значит отбрехался? Я тебе объяснил в чем проблема. Ты все таки не чайник, тебе же не нужно элементарные вещи разжевывать.

VD>Значит в данном случае он использован не по назначению. В конфиге должны сериализоваться любые типы.


Ну так предложи вариант лучше. Вариант переписать XmlSerializer не лучший

VD>Собственно это от тебя и росли. Если бы ты не вредничал, давно уже были бы настраиваемые цвета.


Я думал что тебе не надо элементарные вещи объяснять.

VD>>Зачем? Сделай отдельное свойство "Цветовая схема". Или отдельную закладку. На ней выдавай список схем (из хмл-ных файлов) и просто коприуй значения из выбранной в конфиг. Просто, удобно и всегда можно зименить одно значение не меняя всей схемы.


AVK>>Не знаю, не нравится мне это решение, слишком много телодвижений.


VD>Каких?


Со стороны пользователя
1) Скачал в нужный каталог
2) зашел в настройку, нажал кнопку загрузить, загрузил
3) Выбрал загруженную схему

В случае отдельного файла достаточно положить файл в каталог, а затем в настройках его выбрать. При обновлениях еще проще — просто заменяем файл.

Со стороны программера
1) Создать класс, представляющий схему
2) создать сериализуемую в xml коллекцию схем
3) написать редактор этой коллекции, чтобы было можно погружать в нее внешние файлы

В случае же отдельного файла достаточно 1 строковое свойство и подключить к нему FileNameEditor

VD> Не придумывай находу. В любом другом случае траха будт в разы больше.


Это вряд ли. Я уже с пресетами наелся. Там как раз реализовано так как ты предлагаешь. Траху по самое нехочу.
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[19]: Появилось немного свободного времени...
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 11.06.03 21:20
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ну, так может написать обертку? Не трахаться же так каждый раз?


Для обертки IXmlSerializable не нужно.

AVK>>Для цвета нельзя, это структура. А для обертки придется еще свой Editor писать, но для обертки XmlSerializable не нужен.


VD>Зачем свой? Редактор уже есть. Нужно только перемап сделать.


Именно. Об этом и речь.
... << RSDN@Home 1.1 alpha 1 (np: тихо) >>
AVK Blog
Re[13]: Появилось немного свободного времени...
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.06.03 00:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Что значит отбрехался? Я тебе объяснил в чем проблема. Ты все таки не чайник, тебе же не нужно элементарные вещи разжевывать.


Если я спрашиваю, значит я не знаю. И мне нужен не отбрех, а ответ.

AVK>Ну так предложи вариант лучше. Вариант переписать XmlSerializer не лучший


В принципе конечно лучшуй, но не самый простой.

VD>Собственно это от тебя и росли. Если бы ты не вредничал, давно уже были бы настраиваемые цвета.

AVK>Я думал что тебе не надо элементарные вещи объяснять.

Я с этим еще рне возлся. Дернулся... не вышло... дернул тебя... ты полез вредничать.

AVK>Со стороны пользователя

AVK>1) Скачал в нужный каталог
AVK>2) зашел в настройку, нажал кнопку загрузить, загрузил
AVK>3) Выбрал загруженную схему

AVK>В случае отдельного файла достаточно положить файл в каталог, а затем в настройках его выбрать. При обновлениях еще проще — просто заменяем файл.


Все тоже самое. Скачал, положил, выбрал. Снова у тебя аргументов нет и ты притягиваешь их за уши.


AVK>Со стороны программера

AVK>1) Создать класс, представляющий схему
AVK>2) создать сериализуемую в xml коллекцию схем
AVK>3) написать редактор этой коллекции, чтобы было можно погружать в нее внешние файлы

AVK>В случае же отдельного файла достаточно 1 строковое свойство и подключить к нему FileNameEditor


Та же фигня. Схема будет в отдельном файле, а цвета цветами.

В общем это притягивание за уши. Ты лучше скажи что ты будешь делать когда пользователь захочет изменить один цвет? Заставишь его фйл править или будешь ще один редактор конфигов делать?

VD> Не придумывай находу. В любом другом случае траха будт в разы больше.


AVK>Это вряд ли. Я уже с пресетами наелся. Там как раз реализовано так как ты предлагаешь. Траху по самое нехочу.


И в чем он? Пробежаться и отобрать свойства одного типа?
... << RSDN@Home 1.1 alpha 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.