Здесь я буду выкладывать новые версии своей программки «символьная палитра».
Сегодня я кое-что в неё добавил, а именно:
1) поддержку импорта-экспорта отдельных вкладок в своём формате;
2) импорт вкладок в формате программы "Charactita", написанной Арсениивым
3) возможность отмены действий при редактировании.
Если у кого-то есть замечания, предложения и тому подобное, пожалуйста, высказывайтесь! Я постараюсь всё это учесть и реализовать.
А пока вот:
(требования не изменились: dotNET framework 2.0 или старше)
Ага, мне есть что сказать, оказалось! :)
(1) А нельзя как-нибудь переопределить счётчики, чтобы при долгом нажатии числа прокручивались сами?
(2) Не хотите сделать ещё и режим вставки из буфера строки символов не в одну ячейку, а в горизонтальную их последовательность (для быстрой вставки большого числа символов)?
(3) Не понял, как импортировать .capage, хотя это не очень важно, просто интересно.
Красота.
Цитата: arseniiv от сентября 3, 2010, 21:43
(1) А нельзя как-нибудь переопределить счётчики, чтобы при долгом нажатии числа прокручивались сами?
Сделаю
Цитата: arseniiv от сентября 3, 2010, 21:43
(2) Не хотите сделать ещё и режим вставки из буфера строки символов не в одну ячейку, а в горизонтальную их последовательность (для быстрой вставки большого числа символов)?
Так и хотел.
Цитата: arseniiv от сентября 3, 2010, 21:43
(3) Не понял, как импортировать .capage, хотя это не очень важно, просто интересно.
Правой кнопкой на панели вкладок → «импортировать вкладки» → выбираете один или несколько файлов .сп или .capage.
Другое дело, что у меня могла быть не последняя версия вашей программы, тогда и файлы .capage последней версии не будут поддерживаться.
Учёл пожелания Арсения (кроме значка — его потом нарисую):
Чтобы вставить из буфера не в одну ячейку, а в несколько, нужно зажать на «исходной» ячейке правую кнопку, потом сдвинуть мышь на одну ячейку вправо, влево, вниз или вверх и отпустить. Символы расположатся начиная с исходной ячейки в указанном направлении.
(Если сдвинуть указатель не на одну, а, например, на две ячейки, то символы пойдут через один. Таким способом можно, например, из строк текста 'АБВГ' и 'абвг' получить в ячейках 'АаБбВвГг'.)
(Если текст в буфере обмена содержит более одной строки́, то стро́ки появляются друг под другом (для вертикального направления — справа).)
Цитата: Тайльнемер от сентября 4, 2010, 03:01
Правой кнопкой на панели вкладок → «импортировать вкладки» → выбираете один или несколько файлов .сп или .capage.
Другое дело, что у меня могла быть не последняя версия вашей программы, тогда и файлы .capage последней версии не будут поддерживаться.
Красота!
А про .capage — видимо да, версия была не последняя (не получилось импортировать вкладку). Текущую приложил, вкладку тоже.
Кстати, хотите, я вам значок нарисую? Скажете пожелания к его виду, мог бы попытаться.
Цитата: arseniiv от сентября 4, 2010, 16:49
Кстати, хотите, я вам значок нарисую?
Я щас сам его нарисую, но вы, если не сложно, тоже нарисуйте. Наверняка, у вас выйдет лучше, и тогда я заменю свой значок на ваш.
Цитата: arseniiv от сентября 4, 2010, 16:49
Скажете пожелания к его виду, мог бы попытаться.
Я бы хотел, чтобы значок соответствовал названию программы. Впрочем, делайте всё на ваше усмотрение.
Цитата: arseniiv от сентября 4, 2010, 16:49
не получилось импортировать вкладку
При открытии вашей вкладки «математика» мою программу смутило то, что последний символ 'ℏ' (\u210F) в файле повторен дважды:
Charset=!\u0391\u0392\u0393\u0394
. . .
ЧјЅѕч \u210f\u210f!
Таким образом, общее число символов в файле — на один больше числа ячеек. Это так и было задумано?
Я уже сделал, чтобы моя программа игнорировала число символов в
charset, но вышлю эту версию, когда нарисую значок.
Здорово!
А как бы сделать перенос нескольких клеток сразу, причём не с затиранием тех, что вдруг окажутся там, куда их перенесли, а со смещением?
И ещё одно предложение: нельзя ли сделать импорт файлов в человеку-понятном формате?
Например, в виде bb или wiki-кода?
Пример:{| название="Рус. алфавит" шрифт="Times New Roman" размер="20" ширина="30" высота="30"
|А||Б||В||Г||Д||Е||Ё||Ж||З||И||Й
|К||Л||М||Н||О||П||Р||С||Т||У||Ф
|Х||Ц||Ч||Ш||Щ||Ъ||Ы||Ь||Э||Ю||Я
|}
А для нескольких вкладок файл в ini-стиле:[Вкладка]
ТАБЛИЦА_1
[/Вкладка]
[Вкладка]
ТАБЛИЦА_2
[/Вкладка]
...
[Вкладка]
ТАБЛИЦА_N
[/Вкладка]
Хотя расширение можно и одно и то же сделать, просто парсер предупредить.
Версия со значком и игнорированием лишних символов в .capage:
Цитата: Bhudh от сентября 4, 2010, 18:04
А как бы сделать перенос нескольких клеток сразу
Это я и хочу реализовать в ближайшее время.
Цитата: Bhudh от сентября 4, 2010, 18:04
причём не с затиранием тех, что вдруг окажутся там, куда их перенесли, а со смещением?
А вот это я не знаю как сделать. Как вы это представляете?
Цитата: Bhudh от сентября 4, 2010, 18:04
И ещё одно предложение: нельзя ли сделать импорт файлов в человеку-понятном формате?
Ну, по идее, .capage Арсения претендует на человекопонятность. Могу сделать и другой формат, если дадите спецификацию.
Цитата: ТайльнемерКак вы это представляете?
Как это как? Просто всё, что находится ниже (или правее...) переносится ещё ниже на
n клеток, где
n — высота переносимого блока. В IGoogle или при создании викикниги можно так блоки перемещать. Или, чтобы далеко не ходить, перемещение файла в пределах папки в винде.
Цитата: Тайльнемер.capage Арсения претендует на человекопонятность
Ну, программистам может UCN и понятнее, но хотелось бы видеть символы в Уникоде.
Тем более .capage высших плоскостей не понимает.
Цитата: Тайльнемересли дадите спецификацию
Я ж примеры дал!
Забацал http://wiki.lingvoforum.net/w/Символьная_палитра (http://wiki.lingvoforum.net/w/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BB%D0%B8%D1%82%D1%80%D0%B0)
Ссылки на нов. версии обновляйте и там, т.к. тут не сразу разберёшь, где новая.
символически пол-литра? где мои 0,5л?!
Как насчёт опции сворачивания в систрей?
И вообще сворачивания по-человечески.
А то у меня секунд на пять виснет.
Цитата: Алексей Гринь от сентября 5, 2010, 21:50
Как насчёт опции сворачивания в систрей?
Можно, если нужно.
Цитата: Bhudh от сентября 5, 2010, 22:28
И вообще сворачивания по-человечески.
А то у меня секунд на пять виснет.
:o :o :o
:-\Как так?! :???
Цитата: Тайльнемер от сентября 6, 2010, 01:46
:o :o :o
:-\Как так?! :???
У меня немного виснет при закрытии.
Чё-то может с хуками связанное.
Такое ощущение, что прога очищает память перед тем, как свернуться.
Но Диспетчер это не подтверждает.
Может, просто что-то на диск пишет?
Цитата: Алексей ГриньУ меня немного виснет при закрытии.
И это тоже. Точно так же, только чуть подольше.
При сворачивании прога не делает ровно ничего! Чему там виснуть, я вообще не могу понять.
При закрытии — пишет на диск, но, думаю, это не повод для зависания. У меня нисколько не виснет.
Кстати, если удалить все вкладки, всё равно виснет? Длительность зависания зависит от количества вкладок/символов?
____________
Вот версия, сворачивающаяся в трей:
У мня при сворачивании тож задумывается, но всего на 0.5 секунды (как и на выходе). Удаление вкладок ни на что не повлияло.
Чорт, что ж такое?!
Попробуйте тогда вот это позакрывать и посворачивать — будет виснуть или нет:
Сворачивается без зависаний.
А теперь:
Тоже ОК.
Значит, что-то с хуками... А антивирус у вас включен? Может, он пытается проверять хуки на вредоносность?
В принципе хук там не нужен. Я применил хук от безысходности. Нужно было, чтобы при клике символа окно программы не активизировалось, фокус ввода оставался там, где был. Я не смог так сделать. Пробовал переносить фокус обратно — работало, но какой-то побочный эффект был, я уже не помню. Тогда я поставил хук на мышь :) перехватывающий все клики над панелью символов — быдлокод, конечно, но работает.
Может, вы предложите что-нибудь получше?
_________________
У меня такая идея вдруг появилась — экспортировать-импортировать файлы палитр в формате SVG. Тогда файл палитры будет ещё и служить сам себе скриншотом, и при размещении где-нибудь не надо будет возиться с изготовлением скриншота и со вставкой отдельно файла и отдельно скриншота.
А на той же странице в Лингво-вики можно будет разместить базу пользовательских палитр. Тогда каждый сможет, смотря на картинки, выбрать нужные ему палитры и взять себе.
Цитата: Тайльнемер от сентября 6, 2010, 07:02
Значит, что-то с хуками...
Да, я слышал хуки под виндой плохо производительны...
Цитата: msdnHooks tend to slow down the system because they increase the amount of processing the system must perform for each message. You should install a hook only when necessary, and remove it as soon as possible
Цитата: Тайльнемер от сентября 6, 2010, 07:02
А антивирус у вас включен?
Нет.
Цитата: Тайльнемер от сентября 6, 2010, 07:02
У меня такая идея вдруг появилась — экспортировать-импортировать файлы палитр в формате SVG. Тогда файл палитры будет ещё и служить сам себе скриншотом, и при размещении где-нибудь не надо будет возиться с изготовлением скриншота и со вставкой отдельно файла и отдельно скриншота.
А на той же странице в Лингво-вики можно будет разместить базу пользовательских палитр. Тогда каждый сможет, смотря на картинки, выбрать нужные ему палитры и взять себе.
Хорошая идея. Хоть какая-то польза от формата SVG.
В моей клюшке мгновенно сворачивается и мгновенно закрывается. :donno:
Цитата: Тайльнемер от сентября 6, 2010, 07:02
В принципе хук там не нужен. Я применил хук от безысходности. Нужно было, чтобы при клике символа окно программы не активизировалось, фокус ввода оставался там, где был. Я не смог так сделать. Пробовал переносить фокус обратно — работало, но какой-то побочный эффект был, я уже не помню. Тогда я поставил хук на мышь :) перехватывающий все клики над панелью символов — быдлокод, конечно, но работает.
Может, вы предложите что-нибудь получше?
В штатной экранной клаве тоже хуки зачем-то используются.
Цитата: Алексей Гринь от сентября 6, 2010, 07:34
Да, я слышал хуки под виндой плохо производительны...
Хуки достаточно быстры для измерения скорости набора текста, а для палитры и подавно.
Цитата: ТайльнемерУ меня такая идея вдруг появилась — экспортировать-импортировать файлы палитр в формате SVG.
Тоже вариант. Если в уникоде, конечно.
Но вики-табличный формат для ручного редактирования понятнее.
Реквестирую оба.
Цитата: Тайльнемер от сентября 4, 2010, 17:59
Я щас сам его нарисую, но вы, если не сложно, тоже нарисуйте. Наверняка, у вас выйдет лучше, и тогда я заменю свой значок на ваш.
Боюсь, вы нарисуете первее, а то пока времени нет.
P. S. Увидел значок. İ℧, он очень хороший‼ Может, только обработаю фильтром для сверкания и предложу.
Цитата: Тайльнемер от сентября 4, 2010, 17:59
Таким образом, общее число символов в файле — на один больше числа ячеек. Это так и было задумано?
Скорее всего, это недосмотр. Давно в коде не копался. :-[
P. S. В чём рисовали? Экспорт из чего-то векторного? :)
P. P. S. Сейчас будет модифицированный значок, может, понравится. Эффект от программы AWIcons.
Цитата: arseniiv от сентября 6, 2010, 19:34
P. S. В чём рисовали? Экспорт из чего-то векторного?
Да. CorelDraw.
Цитата: arseniiv от сентября 6, 2010, 19:34
watered.ico
Заменять мой значок на ваш?
(У моего значка ещё был размер 256×256. Или не надо?)
Ну что за беда с прозрачностью png на ЛФ!?...
Можете так сделать, чтобы β и γ не съедались вашим эффектом блестящести?
Цитата: Тайльнемер от сентября 6, 2010, 19:57
Можете так сделать, чтобы β и γ не съедались вашим эффектом блестящести?
Можно подуменьшить было бы, но → 256
2 не распозналось. Так что мои значки можно временно выкинуть, а то они будут по-разному отображаться, так нельзя.
Цитата: Тайльнемер от сентября 6, 2010, 19:57
Ну что за беда с прозрачностью png на ЛФ!?...
RawonaM спит. :(
Цитата: msdn от сентября 6, 2010, 07:34
Hooks tend to slow down the system because they increase the amount of processing the system must perform for each message. You should install a hook only when necessary, and remove it as soon as possible
Я думаю, это к тому, чтобы программеры не размещали в хуках долговыполняемых процедур, а не о том, что хуки плохо реализованы и тормозят сами по себе.
У меня в хуке выполняется только тривиальная проверка на то, был ли клик на окно или не было. Это не может тормозить на 0,5—5 секунд. Так что причина тормозов, скорее, в чём-то другом.
__________
Что касается функциональности, то я думаю:
1) Не сделать ли чтобы можно было ставить одни символы, а отображать их другими? (Например, неразрывный пробел, 1/4 пробела, широкий пробел и т. п. выглядят одинаково, а так их можно будет подписать в ячейках: «нер.», «1/4», «шир.» и т. п.)
2) Нужны ли всплывающие подсказки к ячейкам? (Например, пользователь наводит мышь на 'ɟ', вылазит подсказка «звонкий палатальный взрывной согласный».)
3) Нужна ли возможность раскрашивать ячейки в разные цвета или это всё излишне?
__________
Арсений, я фрагмент тарелочки на оранжевой грани вашего аватара уже который раз принимаю за грязь на экране и пытаюсь сдуть или убрать пальцами! :D >(
Цитата: ТайльнемерУ меня в хуке выполняется только тривиальная проверка на то, был ли клик на окно или не было.
А проверяется клик только на
рабочую часть окна или на заголовок/кнопки тоже? Может, от этого клинит?
Цитата: Тайльнемер1) Не сделать ли чтобы можно было ставить одни символы, а отображать их другими? (Например, неразрывный пробел, 1/4 пробела, широкий пробел и т. п. выглядят одинаково, а так их можно будет подписать в ячейках: «нер.», «1/4», «шир.» и т. п.)
Думаю, можно это реализовать как пункт 2), а этот расширить до возможности вставки html-entity (
&xcode;).
Цитата: Тайльнемер2) Нужны ли всплывающие подсказки к ячейкам? (Например, пользователь наводит мышь на 'ɟ', вылазит подсказка «звонкий палатальный взрывной согласный».)
Не помешает, конечно.
Цитата: Тайльнемер3) Нужна ли возможность раскрашивать ячейки в разные цвета или это всё излишне?
Только не в такие яркие, как в BabelMap.
А нельзя сделать, чтобы "Палитра" позволяла делать ввод с клавиатуры? Например, набираю три "-" - получается тире. Это то, что называется словом encoding.
Потому что мышкой хорошо работать "в лабораторных масштабах": например, одно древнегреческое слово записать можно, а текст - замучаешься. Ввод с клавиатуры избавил бы от необходимости использовать много раскладок или мёртвые клавиши (которые могут добавлять по паре лишних нажатий).
Цитата: Bhudh от сентября 7, 2010, 12:41
А проверяется клик только на рабочую часть окна или на заголовок/кнопки тоже? Может, от этого клинит?
У меня ничего не клинит. Если бы тормозил хук, он бы тормозил у всех.
Да и не может такая проверка занимать столько времени, это надо Винду на Спектруме пускать.
Цитата: Квас от сентября 7, 2010, 12:55
А нельзя сделать, чтобы "Палитра" позволяла делать ввод с клавиатуры? Например, набираю три "-" - получается тире. Это то, что называется словом encoding.
Потому что мышкой хорошо работать "в лабораторных масштабах": например, одно древнегреческое слово записать можно, а текст - замучаешься. Ввод с клавиатуры избавил бы от необходимости использовать много раскладок или мёртвые клавиши (которые могут добавлять по паре лишних нажатий).
Для таких целей есть соответствующие инструменты — (wiki/en) AutoHotkey (http://en.wikipedia.org/wiki/AutoHotkey), например.
Цитата: Тайльнемер от сентября 7, 2010, 12:17
3) Нужна ли возможность раскрашивать ячейки в разные цвета или это всё излишне?
Думаю, можно сделать, чтобы цвет пустых ячеек и цвет заполненных различались (можно сделать цвета настройкой, и даже вкладко-специфической настройкой), например, белый и светло-зелёный. Тогда вкупе с подсказками будет легко понять, где пробел, а где просто пустая ячейка. А выборный цвет для отдельных ячеек, думаю, излишен.
Цитата: myst от сентября 7, 2010, 13:00
Для таких целей есть соответствующие инструменты — (wiki/en) AutoHotkey, например.
О, здорово! Выглядит впечатляюще.
Цитата: Bhudh от сентября 7, 2010, 12:41
А проверяется клик только на рабочую часть окна или на заголовок/кнопки тоже? Может, от этого клинит?
Только на панели символов и панели вкладок.
Цитата: Bhudh от сентября 7, 2010, 12:41
а этот расширить до возможности вставки html-entity (&xcode;).
В смысле?
Цитата: arseniiv от сентября 7, 2010, 13:10
Думаю, можно сделать, чтобы цвет пустых ячеек и цвет заполненных различались (можно сделать цвета настройкой, и даже вкладко-специфической настройкой), например, белый и светло-зелёный. Тогда вкупе с подсказками будет легко понять, где пробел, а где просто пустая ячейка.
Да вы что, это же сроду так было:
(http://wiki.lingvoforum.net/images/f/f6/Spss1.png)
Я использую системные цвета: заполненные ячейки заливаются цветом Window, а незаполненные — цветом Control. Если вы в своей цветовой схеме их выбрали одинаковыми, я не виноват! Кстати, покажите скриншот.
Цитата: arseniiv от сентября 7, 2010, 13:10
А выборный цвет для отдельных ячеек, думаю, излишен.
ОК.
Вот попробуйте такую версию: вместо штатной кнопки сворачивания я сделал свою (под кнопкой закрытия окна). Будет тормозить?
Цитата: Тайльнемер от сентября 7, 2010, 12:17
У меня в хуке выполняется только тривиальная проверка на то, был ли клик на окно или не было. Это не может тормозить на 0,5—5 секунд. Так что причина тормозов, скорее, в чём-то другом.
Ещё забываете про оверхед native-to-managed transition и обратно для .net'а.
Можно версии дотнетов сравнить как вариант...
Эх, жалко у меня демо-версия JetBrains dotTrace Performance 4.0 истекла...
А где её можно скачать?
Цитата: Алексей Гринь от сентября 7, 2010, 20:09
Ещё забываете про оверхед native-to-managed transition и обратно для .net'а.
Фигня это всё.
Цитата: myst от сентября 7, 2010, 20:52
ЦитироватьЕщё забываете про оверхед native-to-managed transition и обратно для .net'а.
Фигня это всё.
Просто предположил.
Цитата: ТайльнемерВ смысле?
В смысле сделать выбор между вставкой символа в "чистом виде" и вставкой html-кода. Как в BP.
Цитата: Тайльнемервместо штатной кнопки сворачивания я сделал свою (под кнопкой закрытия окна). Будет тормозить?
Сворачивается мгновенно. Но после этого начинает тупить мышь.
А точнее, прога ведёт себя так, словно и не сворачивалась, перехватывая все нажатия: не выделяется текст в браузере, не убирается правокнопочное браузерное меню нажатием левой кнопки, ну и вставляются символы при клике на то место, где они находятся (хоть и не видимы).
В обчем, ахтунг.
Цитата: Bhudh от сентября 8, 2010, 01:20
Сворачивается мгновенно. Но после этого начинает тупить мышь.
А точнее, прога ведёт себя так, словно и не сворачивалась, перехватывая все нажатия: не выделяется текст в браузере, не убирается правокнопочное браузерное меню нажатием левой кнопки, ну и вставляются символы при клике на то место, где они находятся (хоть и не видимы).
В обчем, ахтунг.
Ужас.
Ну тогда попробуйте вот эти две версии, может какая-то из них сработает:
Обе нормально складываются, но системное меню не работает вообще.
Цитата: myst от сентября 8, 2010, 08:01
Обе нормально складываются, но системное меню не работает вообще.
А я и не вас спрашивал, а тех, у кого виснет. А системное меню я починил.
Цитата: Тайльнемер от сентября 8, 2010, 14:50
А я и не вас спрашивал, а тех, у кого виснет.
А что так неприветливо?
Цитата: Тайльнемер от сентября 7, 2010, 19:42
Да вы что, это же сроду так было:
Oops. :-[
Цвета-то у меня в порядке, а вот память — нет.
P. S. Пока я версию не обновлял, она одинаково виснет при сворачивании и закрытии на ≈ 0,8 с.
P. P. S. А, это было про трей! При сворачивании туда ничего не виснет.
Цитата: arseniiv от сентября 8, 2010, 15:28
P. S. Пока я версию не обновлял, она одинаково виснет при сворачивании и закрытии на ≈ 0,8 с.
А я и не спрашивал тех, кто версию не обновлял, я спрашивал о v100907a и v100907b. 8-)
Цитата: myst от сентября 8, 2010, 15:15
А что так неприветливо?
Привет, мӹст! :)
Цитата: Тайльнемерv100907a и v100907b
Обе нормально. Хотя при закрытии виснут по-прежнему, но может, им просто памяти не хватает? :donno:
А чем они различаются?
Цитата: Bhudh от сентября 8, 2010, 17:18
Обе нормально. Хотя при закрытии виснут по-прежнему
Спасибо, Bhudh! Теперь, думаю, можно сделать так чтобы и при закрытии не висла.
Цитата: Bhudh от сентября 8, 2010, 17:18
А чем они различаются?
Да, неважно...
Цитата: ТайльнемерДа, неважно...
Неужели чем-то очень постыдным?‥
Аж интересно стало, что это за загадочные подвисания. :eat:
а у мя вообще не работает
.NET не стои́т. Бывает.
Цитата: myst от сентября 8, 2010, 18:08
Аж интересно стало, что это за загадочные подвисания.
Вы думаете, я сам понял?
Цитата: Bhudh от сентября 8, 2010, 18:05
Неужели чем-то очень постыдным?‥
Да... Я исправил только внешнее поведение программы, то есть, чтобы, подвисая, она не мешала, а сразу скрывалась. 'a' и 'b' отличались чуть-чуть разной реализацией этого.
А откуда взялись сами подвисания и чё с ними делать я понятия не имею.
Вот версия с исправленным системным меню и закрытием.
На этом пока я с зависаниями покончу и начну-таки делать какие-нибудь полезные функции.
Кстати, это плохо, что когда программа в развёрнутом состоянии, значок в трее всё равно присутствует?
Цитата: ТайльнемерКстати, это плохо, что когда программа в развёрнутом состоянии, значок в трее всё равно присутствует?
Лично мне параллельно.
А мне-то чо делать? :donno:
Цитата: Валентин Н от сентября 8, 2010, 20:33
А мне-то чо делать? :donno:
Я ж написал:
Цитата: myst от сентября 8, 2010, 18:25
.NET не стои́т.
Что, так трудно догадаться, чо делать?
Цитата: myst от сентября 8, 2010, 20:54
Цитировать.NET не стои́т. ЕТА ваапче чо?
Что, так трудно догадаться, чо делать?
виндяру чтоль переставить? :donno:
Ето (wiki/ru) .NET Framework (http://ru.wikipedia.org/wiki/.NET_Framework). Ето и надо поставить.
спасибо Бхудх.
Зароботоло?
Цитата: Валентин Н от сентября 8, 2010, 21:25
виндяру чтоль переставить? :donno:
doublefacepalm.raw
Предлагаете .tiff?
Но уж точно не raw.
Вы о чём, господа? :???
Raw — это ужасно.
Raw — это
Цитата: существительное
Сырье
Больное место
Ссадина
Что-либо необработанное
Что-либо сырое
глагол
Ссадить кожу
Сдирать кожу
прилагательное
Сырой
Необработанный
Грубый
Неочищенный
Необогащенный
Безвкусный
Незрелый
Лишенный кожи
Кровоточащий
Промозглый
Невареный
Недожаренный
Непропеченный
Ободранный
Нечестный
Неопытный
Чувствительный
Необученный
Цитата: Bhudh от сентября 9, 2010, 02:03
Зароботоло?
пока не ставил, но спасибо за то, что теперь знаю чо делать :yes:
У меня появилась идея, и я сегодня её реализовал, — вложенные таблицы.
Каждая ячейка основной таблицы может иметь подтаблицу (в которой эта ячейка тоже присутствует). Ячейки, имеющие подтаблицу помечаются светло-синим.
Когда пользователь нажимает кнопку мыши на ячейке, открывается подтаблица, при отпускании кнопки вводится символ подтаблицы, находящийся под курсором. Таким образом, простой клик по ячейке основной таблицы печатает её содержимое, а клик со сдвигом печатает символ из подтаблицы.
Это позволяет делать более компактные палитры. Вот так, например, теперь выглядит «политоника»:
(https://sites.google.com/site/formicant/img/Polytonica.png)
В режиме редактирования подтаблицы открываются двойным щелчком.
(Саму программу не выкладываю, так как ещё не всё доделал. Как время будет, доделаю и выложу)
Зачот!
Ну вы даёте!! :o := (Наверно, там ещё и много компонентов, в той среде, где пишете.)
Кстати, мне как раз нужно подобное оконце, но на .NET очень не хочется завязываться. :(
Только не говори, что у тебя его нет!‥
;D
Ты ещё под Линухом хотишь работать?
Он у меня конечно же есть, но из-за одного окошечка создавать зависимость от него и стыковать с плюсами смысла нет.
Ну вот, выкладываю очередную версию.
В ней:
1) Глюки (думаю, без них не обошлось)
2) Подвисание при выходе на некоторых компьютерах (сегодня мне таки удалось найти комп, на котором она подвисает, так что буду разбираться)
3) Подтаблицы (под-под-таблицы я посчитал что не нужны)
4) Всплывающие подсказки к ячейкам
5) Импорт и экспорт в формате вики-таблицы (специально для Bʰudʰa)
По поводу формата:
Это вики-таблица. В первой строке после {| идут необязательные параметры: шрифт (style="font-family: Имя шрифта; font-weight: normal или bold; font-style: normal или italic; font-size: Размер px;"), который воспринимается как программой, так и вики-движком; и размер ячейки (cellsize="ширина; высота"), который вики-движком игнорируется. Название вкладки указывается в заголовке (который в теле таблицы и начинается с |+ ). Во вложенных таблицах «переходная» ячейка помечается с помощью тройных апострофов (выделение жирным в вики). Если не выделить, «переходной» будет первая ячейка. Всплывающая подсказка оформляется так: {{tooltip|содержимое ячейки|подсказка}}, что позволяет им работать на вики.
В песочнице Лингвовики (http://wiki.lingvoforum.net/w/%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0#.D0.AD.D0.BA.D1.81.D0.BF.D0.BE.D1.80.D1.82_.D0.B8.D0.B7_.D1.81.D0.B8.D0.BC.D0.B2.D0.BE.D0.BB.D1.8C.D0.BD.D0.BE.D0.B9_.D0.BF.D0.B0.D0.BB.D0.B8.D1.82.D1.80.D1.8B) можно посмотреть примеры экспорта из программы.
Экспорт в .svg я не доделал ещё, и в этой версии он выключен.
Цитата: Тайльнемер5) Импорт и экспорт в формате вики-таблицы (специально для Bʰudʰa)
Спасибо! :yes:
Цитата: Тайльнемер1) Глюки (думаю, без них не обошлось)
Первый мелкий замеченный: раньше при открытии вкладки содержимое выравнивалось по центру, а сейчас правый край улетает за край окна... При том, что когда я с помощью линейки прокрутки его вытаскиваю, всё содержимое и так прекрасно в окне помещается... :donno:
В режиме редактирования всё в порядке, центрируется по-старому.
Глюк второй: после удаления вышеописанной вкладки и восстановления её из wiki-файла глюк №1 исчез... :donno: :donno:
А в .сп или .set этой вкладки у вас не осталось?
Тайльнемер! У меня ошибка вылезает,
Цитироватьприложение будет закрыто, бла-бла-бла, отправить отчёт...
.NET надо установить.
Каво, извините?
«Символьная палитра» (http://lingvoforum.net/index.php/topic,27334.msg630787.html#msg630787)
и ниже
p.s. форум ломает ссылку ;( короче в теме уже было.
p.p.s о, само починилось.
Хотя это может чё-то другое.
Папка C:\WINDOWS\Microsoft.NET в наличии?
Спасибо!
В наличии.
ошибка установки
Если папка в наличии, значит .NET-таки установлен и ошибка в самой-таки программе.
хм...
Цитата: Вадимий от сентября 30, 2010, 05:35
Тайльнемер! У меня ошибка вылезает, Цитироватьприложение будет закрыто, бла-бла-бла, отправить отчёт...
Вадимий, а что именно написано в сообщении об ошибке, и что именно лежит в папке C:\WINDOWS\Microsoft.NET\Framework (чтобы программа работала, там должны быть папки начинающиеся на 'v2.0...', 'v3.0...' или 'v3.5...')?
Цитата: Тайльнемер от сентября 30, 2010, 12:01
Вадимий, а что именно написано в сообщении об ошибке
Цитата: Тайльнемер от сентября 30, 2010, 12:01
и что именно лежит в папке C:\WINDOWS\Microsoft.NET\Framework (чтобы программа работала, там должны быть папки начинающиеся на 'v2.0...', 'v3.0...' или 'v3.5...')?
Да. есть v1.0.3705, v1.1.4322, v2.0.50727, v3.0, v3.5.
Спасибо за помощь! Надеюсь, наглец я эдакий, на дальнейшую...
А по ссылкокнопке «Какие данные...» показывается ли окно со всякой всячиной и дампом памяти? (Хотя я всё равно никогда не смог правильно использовать то, что там пишется.)
вот что вылезает.
Ну-у, такие исключения надо обрабатывать.
Цитата: ТайльнемерА в .сп или .set этой вкладки у вас не осталось?
Да, я во всех возможных форматах сохранил.
Кстати, о том, что создать
svg невозможно, Палитра пишет, но файл (пустой) таки создаёт.
Кстати, а почему у вики-файла расширение
.txt, а не
.wt или
.wiki?
Цитата: Bhudh от сентября 30, 2010, 18:50
Кстати, а почему у вики-файла расширение .txt, а не .wt или .wiki?
Какое сделать: .wt или .wiki?
А чем плохо .txt?
Цитата: Bhudh от сентября 30, 2010, 18:50
Политоника.сп
Ну это, видимо, из-за того, что я поторопился и набыдлокодил жутко. Щас буду рефакторинг делать.
Цитата: myst от сентября 30, 2010, 18:28
Ну-у, такие исключения надо обрабатывать.
Я осёл! Я try ... catch закомментировал, а раскомментировать забыл.
Вот версия, не вылетающая на отсутствии файла настроек. Вадимий, попробуйте, пожалуйста:
Спасибо! работает, но при закрывании виснет. впрочем, виснет немного, буквально пару секунд (не то что какая-то там из более ранних версий).
Цитата: ТайльнемерКакое сделать: .wt или .wiki?
Дык, можно и оба... Да и вообще можно распознавание по заголовку сделать, а не по расширению.
Цитата: ТайльнемерА чем плохо .txt?
Ничем, кроме того, что мне пришлось его открыть для того, чтобы узнать, что
это и есть вики-таблица ;D.
αφγητι!!
⇜↭⇝
Чё?
Цитата: Тайльнемер от сентября 30, 2010, 20:01
Я осёл! Я try ... catch закомментировал, а раскомментировать забыл.
А вот жабский компилятор бы заругался, и это правильно. :)
Цитата: myst от сентября 30, 2010, 21:12
А вот жабский компилятор бы заругался, и это правильно.
Правильно чтобы ворнинги давало, а не эрроры...
Цитата: Алексей Гринь от октября 1, 2010, 09:18
Правильно чтобы ворнинги давало, а не эрроры...
Правильно, чтобы был режим «ворнинги==эрроры».
Цитата: myst от сентября 30, 2010, 21:12
А вот жабский компилятор бы заругался, и это правильно.
Вы выступаете в защиту checked exceptions?
Obviously.
Ура, я наконец поставил Палитру! Тайльнемер, это всё-таки замечательно‼ Щас вкладочки импортирую, могу сюда выложить.
5 месяцев и 10 дней. Неплохо.
Это всё из-за МФА. ;D
Нашёл ашыпку: когда описания у ячейки нет, всплывающая подсказка без ничего всё равно появляется.
Хм, странно, я закрыл программу, а настройки не сохранились (последняя версия). Надо было экспортировать вкладки! :'(
О, а теперь сохраняется.
Решил, что ни к чему мои страшные вкладки экспортировать-импортировать. Буду двумя таблицами пользоваться.
А, та ошибка с хинтом была только в импортированных .capage, потому что там для показания пустоты использовался пробел. Так что исправлять её совершеннон е нужно.
Сделал улучшенную версию вкладки МФА — с подсказками и добавленными апострофом (он же специальный) для эйективных ʼ и веляризованным ɫ. Сначала их добавил, и эта версия сохранилась в настройках, а версия с подсказками не сохранилась, пока её прикладываю и попробую ещё раз сохранить.
Подсказки не по всем знакам, диакритика и некоторые коартикулянты, а ещё кликсы. Если кто-то хочет, можно и все символы «озвучить», просто долго будет.
А у меня вот такая свёрнутая МФА.
Я понял, что с сохранением вкладок, кажется. В этой версии опции могут сохраниться не в папке с программой! (Только что увидел их в папке с загруженной вкладкой.) Переместил на место — изменения сохранены.
Жаль, не получается подсказку на раскрываемую клетку поставить...
Спасибо за обновлённое МФА.
Цитата: arseniiv от февраля 13, 2011, 21:24
Сделал улучшенную версию вкладки МФА — с . . . и веляризованным ɫ
Как так получилось, что вы поставили ɫ ровно в то же место куда и я?! (http://lingvowiki.info/wiki/images/5/5a/Sm_eek.svg)
Кстати, я что ещё не выкладывал версию с экспортом в .svg?
Получилось не очень-то здорово: интерактивность (подсказки при наведении и подтаблицы по щелчку) работает только когда браузер открывает сам svg-файл, а в svg-шках на странице — не работает.
Пример: http://lingvowiki.info/wiki/images/6/68/Политоника.svg (http://lingvowiki.info/wiki/images/6/68/%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0.svg)
(http://lingvowiki.info/wiki/images/6/68/%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0.svg)
Ещё я не смог отобразить отдельно стоящую диакритику в ячейках:
(http://lingvowiki.info/wiki/images/2/23/%D0%9C%D0%A4%D0%90.svg)
Проверял в Опере, Хроме и Файрфоксе 4β.
Импорта .svg пока нету.
Цитата: Тайльнемер от февраля 14, 2011, 07:51
Как так получилось, что вы поставили ɫ ровно в то же место куда и я?!
Я выбирал как самое удобное, чтобы не слипалось с блоками. А вы?
Цитата: Demetrius от февраля 13, 2011, 23:00
ЦитироватьRaw — это ужасно.
-1
Ужасно главным образом из-за размера файла.
Цитата: Bhudh от февраля 13, 2011, 21:57
Жаль, не получается подсказку на раскрываемую клетку поставить...
А как же вкладка «Греческий»? Изкоробочная:
Цитата: arseniiv от февраля 14, 2011, 15:41
Я выбирал как самое удобное, чтобы не слипалось с блоками. А вы?
Видимо, так же :)
Цитата: arseniiv от февраля 14, 2011, 15:47
Цитата: Bhudh от февраля 13, 2011, 21:57
Жаль, не получается подсказку на раскрываемую клетку поставить...
А как же вкладка «Греческий»? Изкоробочная:
Наверное, Bʰudʰ имел в виду ячейки подтаблиц. Например, в свёрнутой таблице МФА это нужно.
Я попробую сделать такую возможность.
Цитата: arseniiv от февраля 13, 2011, 20:08
Хм, странно, я закрыл программу, а настройки не сохранились (последняя версия). Надо было экспортировать вкладки!
Я понял, что с сохранением вкладок, кажется. В этой версии опции могут сохраниться не в папке с программой! (Только что увидел их в папке с загруженной вкладкой.) Переместил на место — изменения сохранены.
Я сделал сохранение в текущую директорию, наивно полагая, что при запуске программы папка с программой и будет текущей.
Вы запускали программу из консоли?
Я исправлю этот недочёт.
Хорошо было бы обойтись без кириллицы в именах файлов.
Неуникодовские программы ещё живы, и эти вопросительные знаки в них выглядят как-то неопрятно.
А вы уже поправили сохранение настроек? При импорте вкладок сохраняются в папке с этими вкладками почему-то, а не в папке с программой.
Цитата: arseniiv от февраля 14, 2011, 15:41
Цитата: Demetrius от февраля 13, 2011, 23:00
ЦитироватьRaw — это ужасно.
-1
Ужасно главным образом из-за размера файла.
:donno:
А BMP и униксопиксмапы менее ужасно, что ли?
Цитата: Demetrius от февраля 14, 2011, 18:29
А BMP и униксопиксмапы менее ужасно, что ли?
Да, эти хуже, если raw понятно устроен.
Цитата: Тайльнемер от февраля 14, 2011, 16:22
Вы запускали программу из консоли?
Ой, я и пропустил, что вы написали сообщениями раньше. Нет, не из консоли, просто ярлык сделал. Странно, что текущая папка меняется на папку импорта.
Цитата: mnashe от февраля 14, 2011, 16:27
Хорошо было бы обойтись без кириллицы в именах файлов.
Неуникодовские программы ещё живы, и эти вопросительные знаки в них выглядят как-то неопрятно.
:no: Лучше подстёгивать народ к переходу на уникодные программы, чем создавать условия, в которых могут выжить неуникодные! :)
Цитата: arseniiv от февраля 14, 2011, 16:45
А вы уже поправили сохранение настроек?
Нет ещё. Завтра поправлю.
Цитата: arseniiv от февраля 14, 2011, 18:41
Цитата: Demetrius от февраля 14, 2011, 18:29
А BMP и униксопиксмапы менее ужасно, что ли?
Да, эти хуже, если raw понятно устроен.
Цитата: Тайльнемер от февраля 14, 2011, 16:22
Вы запускали программу из консоли?
Ой, я и пропустил, что вы написали сообщениями раньше. Нет, не из консоли, просто ярлык сделал. Странно, что текущая папка меняется на папку импорта.
В этом сообщении очень интересна постановка тэга offtop :)
Цитата: Тайльнемер от февраля 14, 2011, 20:21
Лучше подстёгивать народ к переходу на уникодные программы, чем создавать условия, в которых могут выжить неуникодные!
Со мной это не пройдёт :(
Собственной программой, написанной задолго до уникодов, я пользоваться не перестану — слишком много в ней за 20 лет полезных штучек накручено. А переписывать её мне, естественно, некогда.
Так что я просто предпочитаю не пользоваться программами с искусственно заниженной совместимостью. Несмотря на то, что конкретно с кириллицей у меня дома проблем нет (предыдущее сообщение я писал с работы, где Windows настроен на иврит), меня раздражают программы, использующие без нужды кириллицу в именах файлов. Не использую такие программы, если есть выбор.
И интерфейс всегда выбираю английский, если есть.
Mnashe, а где вас конкретно кириллица беспокоит: в расширении палитр «.сп», в файле «Символьная палитра.exe», или в файле «Символьная палитра.set», или во всём сразу? И как это проявляется?
Цитата: arseniiv от февраля 14, 2011, 16:45
А вы уже поправили сохранение настроек?
Пофиксил. Выкладываю.
В эту версию я вставил свой вариант свёрнутой таблицы МФА, свёрнутой несколько по другому принципу.
Тайльнемер, а у Вас в Калибри есть символ ⱱ? Шрифтом не поделитесь? В v5.62 его нет...
Цитата: Bhudh от февраля 15, 2011, 06:18
Тайльнемер, а у Вас в Калибри есть символ ⱱ? Шрифтом не поделитесь? В v5.62 его нет...
Да у меня тоже 5.62, и ⱱ нету.
А ещё в Calibri 5.62 глюк: диакритик большей огублённости (ǝ̹) отображается как диакритик меньшей огублённости (ǝ̜).
Цитата: Тайльнемер от февраля 15, 2011, 06:07
Mnashe, а где вас конкретно кириллица беспокоит: в расширении палитр «.сп», в файле «Символьная палитра.exe», или в файле «Символьная палитра.set», или во всём сразу? И как это проявляется?
Второе — не проблема, поскольку программный файл можно переименовать как угодно (что я сразу и сделал). С первым можно выкрутится, проводя все операции с файлами .сп под русской Windows (хотя непонятно, зачем вообще нужна кириллица в расширении). Третье не было бы проблемой, если бы программа искала файл настроек не как «Символьная палитра.set», а как (truncate_extension(<full_path_to_program>)+'.set'). Но поскольку это не так, у меня на рабочем компьютере вопросительные знаки под неуникодовскими программами, а при запуске без указания рабочей папки (на любом компьютере) — пустота. Неправильно это.
Цитата: mnashe от февраля 15, 2011, 08:58
Неправильно это.
Я не считаю, что это неправильно. Наоборот, неправильно зацикливаться на анахронизме ASCII. Но я всё исправлю.
Если я сделаю вот это:
Цитата: mnashe от февраля 15, 2011, 08:58
truncate_extension(<full_path_to_program>)+'.set'
и сменю расширение .сп на .sy, это всех устроит?
Спасибо, замечательно!!
Буду тестировать новую таблицу попозже.
Хотел сделать всплывающие подсказки внутри подтаблиц. Оказалось, это требует несколько большей переделки, чем я сперва думал. Так что я пока не сделал.
Пока выкладываю версию с исправлениями, о которых писал Мнаше, и с новыми экспериментальными таблицами.
Спасибо, замечательно!
МФА интересная, но мне привычнее группировать по способу образования, а не по месту...
Цитата: Тайльнемер от февраля 15, 2011, 09:23
Цитата: mnashe от февраля 15, 2011, 08:58
Неправильно это.
Я не считаю, что это неправильно. Наоборот, неправильно зацикливаться на анахронизме ASCII. Но я всё исправлю.
:+1:
Цитата: Bhudh от февраля 16, 2011, 21:51
МФА интересная, но мне привычнее группировать по способу образования, а не по месту...
О, надо попробовать.
А звонкость в этом случае как лучше сделать: пары звонкий-глухой внутри одной подтаблицы или разные подтаблицы для звонких и для глухих?
Цитата: ТайльнемерО, надо попробовать.
В аттаче пример группировки носовых.
Цитата: ТайльнемерА звонкость в этом случае как лучше сделать: пары звонкий-глухой внутри одной подтаблицы или разные подтаблицы для звонких и для глухих?
Думаю, это на любителя.
Я, например, любитель раздельности. :)
То есть, сделать одну подтаблицу для всех глухих смычных, одну — для всех звонких смычных, одну — для всех глухих фрикативных, одну для всех звонких фрикативных, одну для всех аппроксимантов, одну для всех латеральных и т. д. Так?
_____________________________________
Ещё меня вот что беспокоит:
1) Можно ли без подсказки догадаться, что импорт вкладок делается через контекстное меню панели вкладок? Как бы сделать попонятнее (при этом не занимая много места на панели)?
2) Нужна ли кнопка «+» справа от вкладок? Может, её убрать или заменить, на кнопку «импорт»?
Я думаю оставить «+», и поместить на панель отдельно «импорт». Нормально?
3) Не нужно ли сделать кнопки закрытия на корешках вкладок, как в браузерах?
Цитата: Тайльнемер от февраля 18, 2011, 09:19
3) Не нужно ли сделать кнопки закрытия на корешках вкладок, как в браузерах?
Нет, не стоит.
1. Можно нечаянно закрыть, что в браузере (в Опере, во всяком случае) обратимо, а тут обратимость ещё надо реализовывать.
2. Это делается здесь намного реже, чем в браузере.
Цитата: Тайльнемер от февраля 18, 2011, 09:19
2) Нужна ли кнопка «+» справа от вкладок? Может, её убрать или заменить, на кнопку «импорт»?
Мне кажется, должно быть или обе, или ни одной.
И я бы их сделал не иконкой «+», а иконками «новый лист» и «открыть», как в редакторах (только не в левом углу, а справа от вкладок).
Цитата: Тайльнемер от февраля 18, 2011, 09:19
1) Можно ли без подсказки догадаться, что импорт вкладок делается через контекстное меню панели вкладок?
Можно, но у меня это заняло порядка минуты.
Как лучше?
Первое или второе нравятся больше.
Всё, я придумал, как сделать:
Вот эта стрелочка слева открывает меню.
Я всю тему не читал, но как там насчёт портирования на голый win32?
Тогда заработает под Линуксами (WINE получается более портируемый, чем mono).
Use Java!
Цитата: myst от февраля 18, 2011, 15:49
Use Java!
Джава хрень в плане ГУИ и десктопа
Уж лучше win32
Цитата: Алексей Гринь от февраля 18, 2011, 15:51
Джава хрень в плане ГУИ и десктопа
А что не так? Уж для такой программы средств в любом случае должно хватить.
Оффтоп, но Джава хрень. У меня на компе только одна джава-программа всего, JDownloader, это скорее исключение. К тому же если .net установлен по умолчанию на виндах, то джаву ещё надо ставить. Во всех случаях win32 удобнее.
Не надо оффтопить, я свою позицию уже раскрывал.
Цитата: Алексей Гринь от февраля 18, 2011, 16:00
К тому же если .net установлен по умолчанию на виндах, то джаву ещё надо ставить.
Проблема надуманней некуда. Кстати, в XP .NET по умолчанию установлен, да?
Цитата: Алексей Гринь от февраля 18, 2011, 16:00
Не надо оффтопить, я свою позицию уже раскрывал.
Про гуй не помню такого.
Цитата: Алексей Гринь от февраля 18, 2011, 16:00
Оффтоп, но Джава хрень. У меня на компе только одна джава-программа всего, JDownloader, это скорее исключение. К тому же если .net установлен по умолчанию на виндах, то джаву ещё надо ставить. Во всех случаях win32 удобнее.
İ℧ Java лучше .NET'а. WinAPI плохо́ кривой поддержкой уникода в Win98, в отличие от Jav'ы.
Кстати, у меня вообще Mono не стоит, а на Jav'е программ хватает.
Цитата: Demetrius от февраля 18, 2011, 16:26
WinAPI плохо́ кривой поддержкой уникода в Win98
Ну ты ещё Win3.1 вспомни. Или MSDOS.
Цитата: Алексей Гринь от февраля 18, 2011, 15:32
Я всю тему не читал, но как там насчёт портирования на голый win32?
Тогда заработает под Линуксами (WINE получается более портируемый, чем mono).
Было бы неплохо. Но я, пожалуй, за такое не возьмусь — не умею.
А под моно прога, видимо, не работает из-за того, что вызывает функции winAPI вроде SetWindowHookEx и SendInput. Если вы мне расскажете, как это сделать на чистом дот-нете или джаве, я сделаю.
Цитата: Тайльнемер от февраля 18, 2011, 19:43
Было бы неплохо. Но я, пожалуй, за такое не возьмусь — не умею.
Думаю, это можно сделать с помощью реверс-инжениринга WinForms. Есть же Reflector. Ничего сложного не должно быть. Если будет время, попробую это сделать (в теории вообще тулзу можно было бы сделать, которая бы Winforms-вызовы транслировала в чистый C-Winapi, который бы извлекался из System.Windows.Forms.dll)
Один фиг, как я понял, половина программы состоит из Winapi-вызовов, так что...
Или вы не умеете Winapi+C вообще?
.
Цитата: Bhudh1.10.217
:D Здо́рово вы точки поставили!
11 02 17 — это 17 февраля 2001 г.
А на версию в свойствах экзешника я забил.
Цитата: Тайльнемер11 02 17 — это 17 февраля 2001 г.
Оригина-ально...
Цитата: Bhudh от февраля 19, 2011, 11:30
Цитата: Тайльнемер11 02 17 — это 17 февраля 2001 г.
Оригина-ально...
Это опечатка. 2011 год имелся в виду.
Цитата: Тайльнемер от февраля 18, 2011, 14:41
Всё, я придумал, как сделать:
Вот эта стрелочка слева открывает меню.
Отлично!
Хотя я бы, пожалуй, поставил стрелочку меню левее карандаша.
Я бы хотел сделать страницу на Лингво-вики, где можно было бы размещать символьные палитры. Но я не знаю как это лучше сделать.
Я создал страницу Символьная палитра/Палитры (http://lingvowiki.info/w/%D0%A1%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%BF%D0%B0%D0%BB%D0%B8%D1%82%D1%80%D0%B0/%D0%9F%D0%B0%D0%BB%D0%B8%D1%82%D1%80%D1%8B). Мне бы хотелось, чтобы размещённые на ней палитры можно было и посмотреть, и скачать.
Но .svg не размещаются непосредственно на странице, приходится делать на них ссылки. (Svg — динамические — реагируют на нажатие мышью. Вот, например: «Политоника (с подтаблицами)» (http://lingvowiki.info/wiki/images/9/9e/%D0%9F%D0%BE%D0%BB%D0%B8%D1%82%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_(%D1%81_%D0%BF%D0%BE%D0%B4%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0%D0%BC%D0%B8).svg).)
А файлы .cy Лингво-вики вообще не принимает. Где их размещать?
Нужно ли (и если нужно, то как) создать шаблон «символьная палитра» с полями: «автор», «охватываемые символы», «ссылка на файл», «ссылка на svg» и т. п.?
Интересная идея!
Можно, конечно, аттачить файлы к постам на ЛФ, но это как-то некузяво. На внешний файл-хостинг заливать тоже неохота.
Хм... А svg с ЛФ почему-то вообще не открываются...
У меня открылось:
Гляньте на путь на своём скриншоте. Svg не открылся на месте, а загрузился к вам во временную папку. А это жуть.
Вот на ЛВ — нормально:
http://lingvowiki.info/wiki/images/9/9e/Политоника_(с_подтаблицами).svg
Цитата: Тайльнемер от
А svg с ЛФ почему-то вообще не открываются...
Политоника (с подтаблицами).svg не открывается, а Математика (с подтаблицами).svg подвешивается, но при остановке загрузки показывается, но с ошибкой.
В этом куске кода:
<g transform="translate(345,-150)" display="none">
<set attributeName="display" to="inline" begin="but41.mousedown" end="mouseup; mouseout" />
<rect class="subtableOuter" x="-13" y="-21" width="50" height="64" />
<g transform="translate(0,0)">
<use xlink:href="#bgNormal" />
<text>⊐</text>
<use xlink:href="#cellFrame">
<title role="tooltip">
</title>
</use>
</g>
<g transform="translate(23,0)">
<use xlink:href="#bgNormal" />
<text>⋥</text>
<use xlink:href="#cellFrame" />
</g>
<g transform="translate(0,30)">
<use xlink:href="#bgNormal" />
<text>⊒</text>
<use xlink:href="#cellFrame" />
</g>
<g transform="translate(23,30)">
<use xlink:href="#bgNormal" />
<text>⋣</text>
<use xlink:href="#cellFrame" />
</g>
<rect class="subtableInner" x="-11" y="-19" width="46" height="60" />
</g>
точно никакой ошибки нет?
Цитата: Тайльнемер от октября 30, 2011, 15:32
а загрузился к вам во временную папку
Да, я его открыл «отдельно», а так не загружался.
ЦитироватьВ этом куске кода точно никакой ошибки нет?
Да, ошибки есть, то ли в коде, то ли при показе браузером. Только у меня они не так проявляются, как у вас:
Но с ошибками я как-нибудь разберусь. Мне бы узнать, куда и как мне файлы класть, чтобы они с той страницы были доступны.
Если быстро загрузку остановить, то могут и более ранние глючить.
Но вот такой лабуды с границами я не видел... :???
Цитата: Тайльнемер от Мне бы узнать, куда и как мне файлы класть, чтобы они с той страницы были доступны.
Цитата: Тайльнемер от октября 30, 2011, 15:13На внешний файл-хостинг заливать тоже неохота.
Спросите у RawonaMʼа, ftp-хостинг у него к ΛΦ подключён?
Программа понравилась. Спасибо, Тайльнемеру!
Но почему-то большая часть символов-стрелок представлена квадратом. Какой нужен шрифт и версия?
Не планируется ли создание вкладок со всей кириллицей и всей латиницей, хотя бы европейской, а также других письменностей (грузинская, армянская, еврейская)?
Цитата: O от Но почему-то большая часть символов-стрелок представлена квадратом. Какой нужен шрифт и версия?
См. вложение.
В
Symbola (выкладывал неоднократно) и
Universalia (достаточно гугльнуть) есть абсолютно все стрелки.
Где 91 — все до уникода шестой версии.
Цитата: O от Не планируется ли создание вкладок со всей кириллицей и всей латиницей, хотя бы европейской, а также других письменностей (грузинская, армянская, еврейская)?
Это элементарно сделать самому.
Bhudh, спасибо за ответ.
Именно что прелесть Палитры в том, что она ручная. Правда, я со своей страшной таблички на неё до сих пор до конца ещё не перелез. ;D Так пополам и использую.
В программе установлен шрифт Cambria Math. Другие программы этим шрифтом у меня показывают стрелки, которые в СП отображаются квадратами.
Сменив шрифт на одной вкладке, вы не смените его на остальных. Можете спокойно выбрать другой. :)
С квадратами непонятно. :-\
Цитата: arseniiv от декабря 9, 2011, 21:22
Сменив шрифт на одной вкладке, вы не смените его на остальных. Можете спокойно выбрать другой. :)
С квадратами непонятно. :-\
Прошло после смены на другой и возврате на Cambria Math.
Цитата: O от декабря 9, 2011, 17:11
Не планируется ли создание вкладок со всей кириллицей и всей латиницей, хотя бы европейской, а также других письменностей (грузинская, армянская, еврейская)?
Создание вкладок со всякими разными письменностями очень,
очень приветствуется!
Я хотел, сделать на Лингвовики страницу обмена палитрами, но там как-то неудобно всё получается.
Может быть сделать отдельный сайт «символьной палитры» с пополняемой библиотекой палитр пользователей?
Цитата: arseniiv от декабря 9, 2011, 18:23
Именно что прелесть Палитры в том, что она ручная.
Что?
Цитата: arseniiv от декабря 9, 2011, 18:23
Правда, я со своей страшной таблички на неё до сих пор до конца ещё не перелез. ;D Так пополам и использую.
А чего не хватает в СП, чтобы вам на неё перейти?
Извините за нескромный вопрос, а Вы не планируете открывать исходники?
Кто там грузиницу хотел?
Получите. Все клетки, кроме одной (с разделителем) раскрываемые.
Цитата: Demetrius от декабря 10, 2011, 13:23
а Вы не планируете открывать исходники?
Стесьняюсь. Я же ещё тот быдлокодер. Может, после большого рефакторинга... но это надо, чтобы ещё руки дошли.
Цитата: Bhudh от декабря 10, 2011, 14:35
Кто там грузиницу хотел?
Получите.
Спасибо!
Вообще, мне нравиццо. Таблица (причём сложная) на 120 клеток весит всего 1612 байт.
Сколько ж будет весить весь Юникод в одной таблице? Неужели всего полтора мегабайта⁈
Можно ли автоматически сварганить такую табличку для тестинга?
Цитата: Тайльнемер от декабря 10, 2011, 14:47
Стесьняюсь. Я же ещё тот быдлокодер.
Да все мы тут... ;D
А хотя бы что-нибудь сделать, чтобы оно под Mono работало?
Цитата: Тайльнемер от декабря 10, 2011, 09:08
Что?
Ну, руками с ней работать просто. Не надо никаких дополнительных людей на какой-нибудь стороне для создания вкладок.
Цитата: Тайльнемер от декабря 10, 2011, 09:08
А чего не хватает в СП, чтобы вам на неё перейти?
Скорее, чего-то не хватает во мне. Хочу свои вкладочки не дословно перенести, а качественно, а лень. Вот и... :donno:
Цитата: Тайльнемер от декабря 10, 2011, 09:03
Может быть сделать отдельный сайт «символьной палитры» с пополняемой библиотекой палитр пользователей?
Это если у вас будет много свободного времени. Было бы, наверное, полезно и для распространения самой Палитры! :???
Цитата: Demetrius от декабря 10, 2011, 15:11
А хотя бы что-нибудь сделать, чтобы оно под Mono работало?
Эта прога не совсем дот-нетная. Для вставки символов она использует виндовую API-функцию SendInput (http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx).
Что можно использовать для этих целей в Linux+Mono?
XSendEvent, насколько я понимаю. Правда, понятия не имею, как им пользоваться. :dunno:
Цитата: Bhudh от декабря 10, 2011, 15:02
Сколько ж будет весить весь Юникод в одной таблице? Неужели всего полтора мегабайта⁈
Нет, 1,5 МБ — это только одна плоскость юникода.
А весь юникод — аж 25 МБ.
Вот:
Цитата: Demetrius от декабря 10, 2011, 16:39
XSendEvent, насколько я понимаю. Правда, понятия не имею, как им пользоваться. :dunno:
Надо попробовать.
Цитата: Тайльнемер от декабря 10, 2011, 17:32
Цитата: Bhudh от декабря 10, 2011, 15:02
Сколько ж будет весить весь Юникод в одной таблице? Неужели всего полтора мегабайта⁈
Нет, 1,5 МБ — это только одна плоскость юникода.
А весь юникод — аж 25 МБ.
Извините, ошибся! Я зачем-то в каждую ячейку подтаблиц ввёл всплывающую подсказку, хотя они там не поддерживаются.
На самом деле так:
- Нулевая плоскость — 270 кБ
- Любая другая плоскость — 400 кБ
- Весь юникод — 6,5 МБ
Вот правильные файлы:
Цитата: Тайльнемер от - Нулевая плоскость — 270 кБ
- Любая другая плоскость — 400 кБ
- Весь юникод — 6,5 МБ
Это оттого, что в Ваших файлах действительно
все нумера, включая неиспользуемые и зарезервированные.
А сейчас ведь используется от силы 10% всех возможных глифов.
Так что выходит на круг даже меньше полутора мегабайт.
Цитата: Bhudh от декабря 10, 2011, 14:35
Кто там грузиницу хотел?
Получите. Все клетки, кроме одной (с разделителем) раскрываемые.
Мерси!
Я вот ещё думаю, как лучше поступать с открытыми на текущий момент вкладками.
Сейчас происходит следующее:
- Все открытые владки сохраняются (вместе с их содержимым) скопом в settings.set. Добавлять и убирать вкладки оттуда можно только из программы. Операции над самими файлами .sy никак на текущие вкладки не влияют.
Есть и другие варианты:
- В settings.set будут храниться только ссылки на файлы .sy. Добавлять и удалять их (от)туда — точно так же, как сейчас. (Это по-моему худший вариант.)
- В settings.set не хранится никакая информация о вкладках, просто все файлы .sy, находящиеся в папке с программой (или специальной подпапке) отображаются при запуске как открытые вкладки. Соответственно, список вкладок можно менять вне программы. (При открытии файла .sy из программы он просто копируется в эту папку)
Как лучше? Я склоняюсь к последнему варианту.
И ещё. Что делать, когда открыто много вкладок? Сейчас это неудобно.
Может, сделать двухуровневый список вкладок. Все вкладки доступны из большого выпадающего меню (возможно, древовидного, отражающего структуру подпапок с файлами .sy), и только любимые (помеченные в этом меню галочкой) отображаются на панели вкладок — ?
Цитата: Тайльнемер от декабря 12, 2011, 11:52
Как лучше? Я склоняюсь к последнему варианту.
Я тоже склоняюсь к последнему. Это так удобно! Сейчас тоже хорошо, но не так прозрачно.
Получил баг. Действия: Добавить пустую вкладку (выдаётся краткая справка по редактированию). Удалить её. Добавить ещё раз.
Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.
************** Текст исключения **************
System.ObjectDisposedException: Доступ к ликвидированному объекту невозможен.
Имя объекта: "HelpForm".
в System.Windows.Forms.Control.CreateHandle()
в System.Windows.Forms.Form.CreateHandle()
в System.Windows.Forms.Control.get_Handle()
в System.Windows.Forms.Form.Show(IWin32Window owner)
в Simbolaro.Form1.SetEditMode(Boolean em)
в Simbolaro.Form1.NewTab()
в Simbolaro.Form1.добавитьПустуюВкладкуToolStripMenuItem_Click(Object sender, EventArgs e)
в System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
в System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
в System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
в System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
в System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.ScrollableControl.WndProc(Message& m)
в System.Windows.Forms.ToolStrip.WndProc(Message& m)
в System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Загруженные сборки **************
mscorlib
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4216 (VistaSP2GDR.050727-4200)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Символьная палитра
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///D:/Программы/Многоязыковая%20поддержка/Символьная%20палитра%20v111021/Символьная%20палитра.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4214 (VistaSP2GDR.050727-4200)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4215 (VistaSP2GDR.050727-4200)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Xml
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4216 (VistaSP2GDR.050727-4200)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4016 (NetFxQFE.050727-4000)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
Например:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
Не смог добиться бага.
Буду разбираться.
Цитата: Тайльнемер от января 21, 2012, 11:05
Не смог добиться бага.
Буду разбираться.
У меня тоже больше пока не было. Я тогда подумал, что сделал что-то не предусмотренное логикой работы, но, похоже, это был случайно-преходящий баг.
Тайльнемер, а есть ли где-нибудь описание хвормата .sy? У меня тут есть идея сделать что-то подобное на HTML и JS с возможностью импорта, но формат в .sy бинарный.
Такое впечатление, что проще всего парсить викитабличный формат, но СП не умеет его импортировать, только экспортировать, а хотелось бы какую-нибудь интероперабельность.
Текущая версия СП умеет и импортировать и экспортировать вики-таблицу. Только я не помню, выкладывал я такую версию или нет. Щас посмотрю.
Вообще, я хотел сделать сайт (даже начал его делать (http://teilnehmer.somee.com/SymbolPalette/)), на котором было бы можно набирать символы из палитр. Правда редактирование палитр прямо на сайте я не планировал делать. Но можно было бы и сделать.
Кстати, редактировать палитры в последней версии СП можно и под linux/mono. (Пользоваться по-прежнему нельзя, но редактировать — можно.)
Формат sy щас посмотрю, как выглядит...
Цитата: Тайльнемер от апреля 4, 2013, 19:37
Вообще, я хотел сделать сайт (даже начал его делать), на котором было бы можно набирать символы из палитр. Правда редактирование палитр прямо на сайте я не планировал делать. Но можно было бы и сделать.
Я хотел бы сделать что-то легковесное, что легко вставлялось бы во всякие улии. Правда, не знаю, доделаю ли.
Цитата: Тайльнемер от апреля 4, 2013, 19:37
Кстати, редактировать палитры в последней версии СП можно и под linux/mono. (Пользоваться по-прежнему нельзя, но редактировать — можно.)
О, спасибо!
Чё-то у меня в последней версии СП отмена глючит. Щас попробую исправить и выложить.
Выкладываю описание формата .sy (.сп).
Сложность в том, что я налепил несколько версий формата (3 штуки) и распознание версии — костыльно.
Цитировать
palette_v2 (текущая версия формата):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
string mustBeZeroChar должно быть "\0", если нет, то парсим как palette_v1
byte fileVersion должно быть 2, если больше, то это будущая версия
byte mustBeZero должно быть 0
properties properties параметры палитры
field field ячейки палитры
———————————————————————————————————————————————————————————————————————————————————————
palette_v1 (более старая версия формата):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
properties properties параметры палитры
int mustBeMaxValue должно быть 2147483647, если нет, то парсим как palette_v0
field field ячейки палитры
———————————————————————————————————————————————————————————————————————————————————————
palette_v0 (ещё более старая версия формата):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
properties properties параметры палитры
int v0 верхняя граница охватывающего прямоугольника
int v1 1 + нижняя граница охватывающего прямоугольника
line[] lines строки ячеек; (v1 − v0) штук; сверху вниз
———————————————————————————————————————————————————————————————————————————————————————
properties (параметры палитры):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
string name краткое название палитры
string fontFamily название шрифта
int fontSize размер шрифта в пискелях
bool fontBold полужирный
bool fontItalic курсив
int cellWidth ширина ячейки в пикселях
int cellHeight высота ячейки в пикселях
———————————————————————————————————————————————————————————————————————————————————————
field (ячейки палитры):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
byte ignore значение игнорируется
int u0 левая граница охватывающего прямоугольника
int u1 1 + правая граница охватывающего прямоугольника
int v0 верхняя граница охватывающего прямоугольника
int v1 1 + нижняя граница охватывающего прямоугольника
cell[] cells (u1 − u0) × (v1 — v0) штук; сверху вниз, слева направо
———————————————————————————————————————————————————————————————————————————————————————
cell (ячейка):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
byte mask биты указывают на наличие последующих полей:
bit0 — поле value присутствует,
bit1 — поле comment присутствует,
bit2 — поле innerField присутствует,
bit3 ... bit7 — игнорируются.
[string] value текст ячейки (поле может отсутствовать)
[string] comment всплывающая подсказка (поле может отсутствовать)
[field] innerField подтаблица (поле может отсутствовать)
———————————————————————————————————————————————————————————————————————————————————————
line (строка ячеек (используется только в самой старой версии формата)):
———————————————————————————————————————————————————————————————————————————————————————
тип поля название поля комментарий
———————————————————————————————————————————————————————————————————————————————————————
int j0 левая граница строки ячеек
int j1 1 + правая граница строки ячеек
string[] values текст в ячейках; (j1 − j0) штук; слева направо
———————————————————————————————————————————————————————————————————————————————————————
Если файл надо читать/писать из-под дот-нета, то у BinaryReader'а/BinaryWriter'а должна стоять кодировка Encoding.Unicode.
Если не из-под дот-нета, то надо пояснить, как дот-нетовский BinaryWriter кодирует string'и:
Сначала записывается длина строки в байтах в следующем формате:
Двоичная запись длины разбивается по 7 бит. Каждый такой кусочек, начиная с младшего, записывается в байт, у которого младшие 7 бит соответствуют битам кусочка, а старший бит равен 1 у всех кусочков, кроме последнего.
После этого записываются сами байты строки в кодировке UTF-16 (little-endian).
bool — это байт. Либо 00000000, либо 00000001.
Спасибо. По-моему проще парсить викитаблицы. :-[
Кстати, вот предварительная JS-версия: http://ablog.site90.com/fun/p.html
Я не смог сымитировать действие вложенных таблиц (исчезновение по отпусканию мыши), так что у них нужен второй щелчок. ИМХО это не так страшно, наверное так и останется.
Кроме того, пока что вложенные таблицы позиционируются неправильно, но это я исправлю.
Цитата: Demetrius от апреля 6, 2013, 11:00Я не смог сымитировать действие вложенных таблиц (исчезновение по отпусканию мыши)
События
mouseup,
mousedown.
[test]
a̋ f̥ s̃ ẙ è ȳ p̆
[/test]
[uni]
a̋ f̥ s̃ ẙ è ȳ p̆
[tt][nobbc][/uni][/nobbc][/tt]
Цитата: Bhudh от апреля 6, 2013, 11:47
События mouseup, mousedown.
Бод, ты всерьёз думаешь, что кто-то о них не знает? :fp:
Первоначальная версия была с mousedown и mouseup. Но зажатая мышь начинает выделение текста.
Его, конечно, тоже можно отменять, но я терпеть не могу, когда в браузере какие-то скрипты не дают мне выделить текст, и решил, что лучшим решением будет отойти от тайльнемерового интерфейса и сделать двойной щелчок вместо одинарного.
Цитата: Demetrius от апреля 6, 2013, 11:00
Спасибо. По-моему проще парсить викитаблицы. :-[
Кстати, вот предварительная JS-версия: http://ablog.site90.com/fun/p.html
Я не смог сымитировать действие вложенных таблиц (исчезновение по отпусканию мыши), так что у них нужен второй щелчок. ИМХО это не так страшно, наверное так и останется.
Кроме того, пока что вложенные таблицы позиционируются неправильно, но это я исправлю.
А надо ли переусложнять все сворачиваемостью, если на странице лишь текстовая область и палитра? Моей Опере что-то не понравилось, кстати — toggle popup на клики не реагирует, разворачивать приходится отключением стилей.
Цитата: Python от апреля 6, 2013, 12:33
А надо ли переусложнять все сворачиваемостью, если на странице лишь текстовая область и палитра?
Цитата: Demetrius от апреля 4, 2013, 19:41
Я хотел бы сделать что-то легковесное, что легко вставлялось бы во всякие улии.
Цитата: Python от апреля 6, 2013, 12:33
А надо ли переусложнять все сворачиваемостью, если на странице лишь текстовая область и палитра?
Так мы ж это в Улий встраивать собираемся: я представлял, что финальная версия будет выглядеть как-то так:
(http://ablog.site90.com/fun/charpalette/ulej-popup-mockup.png)
Поэтому сразу и делал всплывающим (кроме того, это позволяет немного унифицировать код для встроенных и внешней таблиц; правда, не сильно).
Цитата: Python от апреля 6, 2013, 12:33
Моей Опере что-то не понравилось, кстати — toggle popup на клики не реагирует, разворачивать приходится отключением стилей.
Протестирую потом.
Цитата: Тайльнемер от апреля 6, 2013, 06:37
Двоичная запись длины разбивается по 7 бит. Каждый такой кусочек, начиная с младшего, записывается в байт, у которого младшие 7 бит соответствуют битам кусочка, а старший бит равен 1 у всех кусочков, кроме последнего.
Это актуально, только если длина файла >127? У Вас реально встречаются такие длинные строки?
Фактически длина строки в клетке неограниченна.
Цитата: Demetrius от апреля 6, 2013, 11:00
По-моему проще парсить викитаблицы. :-[
Цитата: Python от апреля 6, 2013, 12:33
разворачивать приходится отключением стилей
Цитата: Тайльнемер от апреля 4, 2013, 19:37
(Пользоваться по-прежнему нельзя, но редактировать — можно.)
:E:
Спасибо за весёлое утро.
Формат, по-моему, замечательный/нормальный (ну, кроме версий, действительно ;D). Правда, наверно, можно было бы указывать разрядности целых вместо их C#-(в-форме-зарезервированных-слов)-имён.
Цитата: arseniiv от апреля 6, 2013, 15:28
Правда, наверно, можно было бы указывать разрядности целых вместо их C#-(в-форме-зарезервированных-слов)-имён.
byte — 8 бит, без знака
int — 32 бита, со знаком
bool — 8 бит, 7 старших — нули, младший: 0 — false, 1 — true.
(Хотя не знающие могли бы, наверно, найти разрядность int из поля, у которого должно быть максимальное значение.)
Цитата: arseniiv от апреля 6, 2013, 15:28
Цитата: Demetrius от апреля 6, 2013, 11:00
По-моему проще парсить викитаблицы. :-[
[...]
Цитата: Тайльнемер от апреля 4, 2013, 19:37
(Пользоваться по-прежнему нельзя, но редактировать — можно.)
:E:
Спасибо за весёлое утро.
Что весёлого? Парсить викитаблицы и правда гораздо проще, т.к. мне парсить надо будет на PHP, а там нет нормальных способов работы с двоичными данными.
А функциональность редактирования полезна даже без возможности использования. Мне вот использование в символьной таблице не так уж и нужно, клавиши Compose хватает за глаза, а редактирование понадобится для моей веб-верии.
Понимаю, но улыбаюсь (это сейчас, тогда было нормально смешно) всё равно.
Цитата: Тайльнемер от апреля 4, 2013, 19:42
Чё-то у меня в последней версии СП отмена глючит. Щас попробую исправить и выложить.
И ведь так и не исправил и не выложил! Всё лень.
А ведь версия 1.2.5335 получилась довольно удачной, если не считать отсутствия отмены. Я уже года два ей пользуюсь.
Выложу на всякий случай её как есть.
Щас попробую вспомнить, в чём заключались её отличия от предыдущей версии:
- Настройки программы теперь сохраняются в читаемый ini-файл.
Настройка PaletteFolder задаёт путь (относительно исполняемого файла; можно также задать абсолютный) к папке, в которой лежат все палитры. По умолчанию это 'PaletteFolder'.
Открытые палитры перечисляются в OpenPalettes, активная — ActivePalette.
Далее идут настройки положения окна программы.
- В меню программы (▶) теперь есть пункт «палитры», в котором отображается содержимое папки с палитрами в виде подменю. Открывать палитры надо оттуда.
- Всплывающие подсказки теперь работают не только на главной таблице палитр, но и в подтаблицах. Я обновил палитру «МФА», подписав в ней каждый символ.
- Появились горячие клавиши (они подписаны во всплывающих подсказках в меню).
- В режиме редактирования теперь можно выделять области.
Клик по одной ячейке и шифт-клик по другой выделяет прямоугольную область.
Контрол-клик добавляет к выделению отдельные ячейки.
Выделенную облать можно двигать мышью, а также копировать, поворачивать, отражать, транспонировать (из меню и комбинациями клавиш). - Всплывающие подсказки теперь редактируются нажатием мышью на правый нижний угол ячейки (при наведении там появляется жёлтый треугольник).
- Программа ведёт себя более прилично, если в системе не установлен шрифт, заданный в палитре (с этим была какая-то проблема).
- Поддерживаются какие-то аргументы командной строки.
В частности, теперь можно поставить SymbolPalette.exe как программу по умолчанию для открытия файлов .sy
Чего не хватает:
- Отмены в режиме редактирования.
- Экспорта svg. (Чё-то он мне не понравился, и я его убрал, не помню.)
- Сворачивания в трей. (Тоже не помню, почему.)
- Я где-то потерял штук пять своих палитр.
- Поддержку линукса, которую я всё хотел сделать, я так и не сделал. Программа, кажется, открывается под mono, редактировать палитры можно, но вводить символы — нет.
Вряд ли я когда-нибудь это доделаю.
Может, ещё есть какие-то отличия, которые я не вспомнил.
В общем вот, может, кому пригодится:
Цитата: Тайльнемер от сентября 30, 2014, 19:32
Всплывающие подсказки теперь работают не только на главной таблице палитр, но и в подтаблицах. Я обновил палитру «МФА», подписав в ней каждый символ.
Teilnehmer est aurum. :=
Загружу на всякий случай, вдруг пригодится ещё. Твоя СП неизменно занимает кнопку панели задач, хотя уже давно не использовалась.
Цитата: Тайльнемер от сентября 30, 2014, 19:32
Я где-то потерял штук пять своих палитр.
Жалко. Кстати, я бы поделился своими палитрами, но AHK всё испортил. ;D Так палитр и не создавал, а при необходимости твоими пользовался.
Кстати, ты build number руками меняешь или автоматически? Я так и не понял, как второе.
И ещё не знаешь ли, как настроить VS на github'ный git? Или не стоит, и просто создавать проект, а git использовать отдельно? (Я какую-то виндовсную оконную метро-программу загрузил для чайников, к коим до сих пор по отношению к VCS отношусь. Так я обошёлся с пѵѳонной библиотекой aDict.) Не знаю, как правилно настроить всякие служебные файлы типа .gitignore, потому что, кажется, файлы по умолчанию всё равно требуют вмешательства.
Можно было бы наконец какой-нибудь совместный проект поделать, или просто людям показать что-то своё страшное.
Цитата: arseniiv от сентября 30, 2014, 21:07
Кстати, ты build number руками меняешь или автоматически? Я так и не понял, как второе.
В файле Properties/AssemblyInfo.cs:
[assembly: AssemblyVersion("1.2.*")](1.2 — номер версии, вместо * будет подставляться номер билда)
Цитата: arseniiv от сентября 30, 2014, 21:07
Я какую-то виндовсную оконную метро-программу загрузил для чайников
Github Desktop? Чё-то мне она не нравится.
Для интеграции с Visual Studio есть GitExtensions (https://code.google.com/p/gitextensions/).
Цитата: Тайльнемер от октября 1, 2014, 02:20
[assembly: AssemblyVersion("1.2.*")]
Да, а из кода я версию получал так:
System.Reflection.Assembly.GetEntryAssembly().GetName().Version
С меня пока хватает BabelMap'а и АНК.