Форматированный текст в контролах

March 7th, 2011 Begemot

Ура, приятная новость:  Markup in control labels. Меня эта возможность сильно порадовала в Qt когда я на нее перешел, теперь вот и в wxWidgets появляется что-то подобное, хотя конечно гораздо слабее чем в Qt, но все равно здорово. Правда не совсем понятно почему wxStaticText отстает от кнопки, но надеюсь сделают все хорошо в итоге:)


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


Еще про локализацию

January 6th, 2011 Begemot

Сделали мне тут арабскую локализацию для двух программ. Понравилось как красиво wxWidgets все это обработала. Или это Винда?

Flashnote-ar

Flashnote-options-ar

clipdiary-ar

Ориганалы можно посмотреть тут и тут.

Правда прикольно?:)


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


Готовь сани летом

September 4th, 2010 Begemot

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

Про то что в wxWidgets есть родные средства  я знал, но хотелось полностью готового и универсального (я еще пишу на Qt и поддерживаю MFC) решения. Начал искать.

Сначала прочел все четыре части XCrashReport, поимел общее представление и даже нашел как прикрутить это дело к wxWidgets (пришлось заходить сзади). Но оказалось что ихний exe для отсылки информации, надо пересобирать, а сделать это в 2008 студии не представляется возможным с разумными усилиями. Автор уже давно в принципе сам все поправил и значительно улучшил, но теперь хочет за современную версию $80.

Решил выкинуть их ехе который занимается отправкой, и просто генерить файлы. Потом решил, что я вообще могу выкинуть почти весь их код и использовать стандартную MiniDumpWriteDump. И вот тут я наконец решил посмотреть что есть готового в wxWidgets.

Оказалось есть, и причем неплохое – wxDebugReport. Генерит минидамп, xml со вспомогательной информацией, позволяет включить другие файлы, показывает диалог и даже может вроде их куда-то аплоадить (не тестил), жаль только по е-майл не может послать, что плохо.

image

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

Но за все надо платить, в данном случае цена – 300кб, для меня многовато, но фиг с ним.

Учтите что нужно добавить в проект либы wxmsw29u_qa.lib, wxbase29u_xml.lib и wxexpat.lib. Еще нужно включить генерацию map и pdb файлов для релизной версии программы. Эти файлы нужно хранить для каждого релиза, вы же конечно используете version contorol system?


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


wxPropertyGrid – довольно удобно

May 11th, 2010 Begemot

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

Теперь я нашел выход, делаем в опцию одну страницу Advanced, суем туда wxPropertyGrid, теперь отпадает проблема усложнения GUI кучей мелких опций. К тому же добавление новых настроек превращается в простой и быстрый процесс.

image


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


wxWidgets utils

March 16th, 2010 Begemot

 

А вы знаете про набор вспомогательных функций в wxWidgets? загляните, есть много полезного.


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


Облегчаем просмотр переменных в дебагере

December 23rd, 2009 Begemot

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

Сегодня наткнулся там на полезнейшую информацию – от том как улучшить отображение wx типов в дебагере Visual Studio, в частности строк и многих других, теперь не обязательно “раскрывать” переменную в окне просмотра дебагера или во всплывающей подсказе, должно здорово экономить время. Подробнее Better display of wxTypes in MSVS debuggerBetter display of wxTypes in MSVS debugger.

Единственно что я этот код вставлял в самое начало секции [AutoExpand] так проще, не приходиться искать ее конец.

p.s А еще я знаю одну архиполезную фишку, я ее как раз сейчас тестирую, скоро расскажу 🙂


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


С иконками все хорошо :)

December 16th, 2009 Begemot

Я тут недавно обнаружил что MFC-визард создает неправильный код для работы с иконками и поэтому у меня в программе много лет была кривая иконка на самом видном месте. Решил проверить как дела в wxWidgets программах. Оказалось вариант

SetIcon

(wxICON(main)); // Give it an icon

Работает правильно – грузит как 32*32 так и 16*16 иконку из файла, так что можно не беспокоиться.

А возможность использовать png для меню\тулбаров – вообще просто супер.


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


Между делом попробовал wxWidgets под Ubuntu

December 7th, 2009 Begemot

Выпало тут 4 часа в течении которых можно было работать только на ноуте. А там у меня недавно установленная убунта 9.10 х64. Сначала немного побаловался, поразбирался с системой (я вроде доволен) потом решил попробовать вх.

Поставил svn, выкачал trunk из репозитория, вспомнил о том, что как компилировать wxWidgets на линуксе я уже писал, по этой же инструкции собрал библиотеку, собрал пару примеров – clipboard, auidemo – и представляете себе, работает! 🙂

Правда, есть и плохой ньюанс, поработав несколько часов в линуксе, всерьоз задумался а стоит ли туда лезть и портировать свои утилиты, энтузиазма немного поубавилось…


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


CreateStdDialogButtonSizer упрошает жизнь

November 21st, 2009 Begemot

В догонку к последнему посту, нашел еще CreateStdDialogButtonSizer  (этот метод правда есть в документации). Но раньше я почему то создавал кнопки в диалогах, пусть и с использованием wxStdDialogButtonSizer, но в ручную. А теперь можно вместо 12 строчек кода, писать всего две

if (wxSizer * buttonSizer = CreateStdDialogButtonSizer(wxOK | wxCANCEL))
             topSizer->Add(buttonSizer, 0, wxEXPAND | wxALL, 10);

повышая качество и читаемость, ляпота 🙂


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


Zip-уем данные на лету

September 2nd, 2008 Begemot

Встроенные удобства это приятно!:)

Пишу данные в базу, возникла мысль что архивирование может быть очень кстати, попробывал – действительно стало лучше. Арихивирование благодаря встроенным средствам wxWidgets делается легко и быстро. Просто пропускаем данные через wxZlibOutputStream который архивирует\распаковывает на лету.

void SavecbContentToStream(wxMemoryOutputStream &memout, bool zlib/*=false*/) const
{
scoped_ptr dos;
scoped_ptr zlibstr;

if(zlib)
{
zlibstr.reset(new wxZlibOutputStream(memout, -1, wxZLIB_GZIP));
dos.reset(new wxDataOutputStream (*zlibstr));
}
else
dos.reset(new wxDataOutputStream (memout));

// write some data …
*dos <<(wxUint16)1 <<(wxUint16)cbContent.size(); // ... } [/sourcecode] Функция записывает данные в переданный буфер с опциональным архивированием их.


Если пост полезен для вас вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.




Page 1 of 212