?

Log in

wxWidgets
developers community
Recent Entries 
Wellcome to wxWidgets developers community
12-11-2013 09:01 - Случилось!
лилия, походы
Не прошло и восьми лет и мы дождались! Выпущен wxWidgets 3.0.0 Release!

Вообще, конечно, печально: wxWidgets отличная библиотека с хорошим потенциалом, но очень уж мало народа над ней работает, не успевают они за современными тенденциями.

http://www.wxwidgets.org/downloads/#latest_stable

Update: Параллельно с релизом был обновлён роадмап:

Версию 3.2 планируется выпустить примерно через год-полтора. Основной вектор разработки для 3.2, внезапно, таки переработка wxAUI для поддержки плавающих вкладок (то, что много лет назад не смог сделать студент в рамках GSOC2009). Кроме того, отмечено прекращение поддержки Win9x и соответствующих компиллеров (MSVC6/7), а так же включение в trunk wxMaskedEdit, контекстно-зависимые переводы, "замороженные" строки и столбцы в wxGrid и улучшение поддержки модальных диалогов.
27-07-2012 10:21 - wxWidgets-2.9.4
Наконец-то отрелизилась новая версия wxwidgets. Из нового (в сравнениии с 2.9.3) в принципе ничего, поправлены некоторые незначительные ошибки. В wxDataViewCtrl добавлена установка цвета фона итема, что я применил у себя в программе после обновления на новую версию. 
Привет. Проблема в следующем. Есть приложение на базе архитектуры документ-вид. видов у документа два. Так вот событие от кнопки, скажем, последовательно проходит через класс документа, через класс вида (первого) и так далеее. А во второй вид это событие не приходит, как сделать, чтоб событие можно было отловить и во втором виде?
15-12-2011 11:22 - 2.9.3 Release
лилия, походы
Вчера вышел очередной релиз тестовой ветки 2.9. Подробности на wxBlog http://wxwidgets.blogspot.com/2011/12/293-release-in-details.html

Заниматься обзором новшеств не буду, один фиг никто походу не читает. Но если кому-то это реально нужно - пишите в комментах, как появится время, попробую что-нибудь накидать.
08-07-2011 12:39 - wxWidgets 2.9.2
лилия, походы
Анонсирован очередной релиз тестовой ветки wxWidgets. Как обычно, представлено множество улучшений и никакой информации о выходе стабильной версии 3.0. В версию 2.9.2 вошли наработки GSoC2010, добавлено несколько новых классов в базовую и GUI подсистемы, а так же многочисленные изменения в существующих. Можно отметить следующие интересные улучшения:
- в функции wxExecute теперь можно задавать рабочую директорию и переменные окружения для запускаемого процесса;
- в функции BeforeFirst/BeforeLast добавлен аргумент rest возвращающий результат применения AfterFirst/AfterLast, что упрощает разбор строк по односимвольному токену;
- добавлен класс, позволяющий считывать и выводить числа с группированием цифр по тысячам, а так же валидаторы для работы с целыми и дробными числами;
- добавлен класс wxUIActionSimulator для имитации пользовательского ввода;
- в класс wxTextEntry добавлено динамическое автодополнение;
- в wxAUI реализована динамическая ориентация тулбаров, поддержка иконок в заголовках и настройка цветов активных и неактивных табов;
- добавлена поддержка CP-866 (кириллическая DOS кодировка) в wxEncodingConverter.
Полный ченджлог можно посмотреть здесь.

UPD 09.07.2011: как будто в ответ на это сообщение, на wxBlog вчера появилось сообщение от VZ с планом дальнейшего выпуска релизов. Итак, 2.9.3 планируется выпустить в сентябре после интеграции результатов GSoC2011 (ага, что-то такое мы в прошлом году уже читали...), в который, скорее всего не войдёт много чего из планируемого в 3.0, в связи с чем позже выйдет 2.9.4. Выход 3.0 планируется к середине декабря, но, скорее всего случится к середине 2012. Ну и как обычно, требуется помощь в тестировании, особенно на макоси/iOS и GTK3.
02-06-2011 17:00 - Утечка памяти?
Mish
Похоже, кроме меня, тут никого нет :)

Такой глупый вопрос - откуда в таком простом месте утечка памяти:

        for(vector<bmp>::iterator i = dir.begin(); i != dir.end(); ++i) // Список файлов изображений, bmp - моя структура, неважно
        {
            wxImage img(i->file);
            if (img.IsOk())
            {
                i->w = img.GetWidth();
                i->w = img.GetHeight();
            }
        }

Т.е. я просто, имея список, собираю размеры. Не очень-то эффективно (загружать весь рисунок), но как справиться иначе, особенно с разными форматами, не придумал.

Случайно, тестируя, натравил на каталог, где эти картинки лежат тысячами :( Ну, решил попробовать в экстремальных условиях. Но вскоре машина стала откровенно тормозить, а диспетчер задач показывать, что у меня этой программой съедено полтора гига памяти...

С чего бы? Или деструктора по умолчанию недостаточно? Или я что-то не так понимаю, как работает освобождение памяти? (Там не сборка мусора применяется?...)

И как корректно решить мою задачу, чтоб не влезать в такие вот неприятности?
UPD: Компилятор Open Watcom 1.9. Я тут его средствами heapwalk прошелся - новая информация к размышлению: использованная память стоит на месте, а вот свободная (но забранная программой) растет и растет... Т.е. какая-то хитрая дефрагментация, что ли?...

Mish
Это опять я :)
Интересный момент попался. Работаю в DialogBlocks. Мне нужны в окне несколько одинаковых панелей, каковые я хочу сделать экземплярами одного класса, унаследованного от wxPanel. Вроде удалось - указав в первом его как внутреннюю реализацию (пусть генерирует сам...), а в остальных - как внешнюю. Немного пришлось пройтись напильником, чтобы при создании id разные передавать. Все компилируется, но при запуске в отладочном режиме дает предупреждение

assert "ClassTable->Get(m_ClassName) == NULL" failed in void wxClassInfo::Register(void)(): Class "PlotPanel" already in RTTI table - have you used IMPLEMENT_DYNAMIC_CLASS() multiple times or linked some object file twice?

Только ни IMPLEMENT_DYNAMIC_CLASS() дважды не использован, ни объектник дважды не линкуется - я проверял.

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

Что это может быть? И как с ним побороться?
Mish
Добрый день!

Хочется как можно проще :) вывести что-то типа простенького HTML - например, строку вида

Результат расчета D<sub>i</sub> = 1.5

Ну, т.е. минимально - с индексами.

Static Text, понятно, не подходит. Пробовал wxHtmlWindow - вроде похоже на то, что мне надо, но не хочет русский выводить - сплошные кракозябры... Передавал ему строку типа

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="windows-1251">
</head>
<body>
<font face="Arial"><center>Вычисление D<sub>0</sub></center></font>
</body>
</html>

все равно кракозябры - не понимает, что это windows-1251...

Как вообще проще всего решить эту проблему?

Заранее спасибо за советы!
Mish
Я тут не так давно спрашивал, как кое-что написать.
Написалось, работает, за что еще раз огромное спасибо - пожалуй, особенно за то, что натолкнули на мысль DialogBlocks попользовать.

Но! Заметил вдруг, что не могу работать без мыши - не работает обход по TAB. Пытался назначать/снимать wxTAB_TRAVERSAL - не помогает!

Угрохал весь сегодняшний день на понимание - не получается... Что я делаю не так? Ведь, похоже, мелочь какая-то, что обиднее всего...

Как корректно заставить обходить (потом будет вопрос - обходить только те контролы, что надо :))


Заранее спасибо за тыканье носом в нужное место...
05-01-2011 16:47 - wxDocument/wxView
Когда писал на MFC, там было все построено на типе Документ-Вид структуры приложений. Подобное есть и в wxWidgets. Наиболее важное отличие в том, что в MFC CView унаследован от CWindow, а в wxWidgets - wxView от wxEvtHandler. Об этом надо помнить. Я сделал так называемое SDI-приложение. Состоит из одного документа и дву связанных с ним видов, разделенных сплиттером. Один вид - это wxNotebook, а другой wxWindow. Итак, привожу сразу исходный текст моего тестового примера и скриншоты программы. Так же есть вариант с использованием wxAUI вместо сплиттера.
P.S. Добавил комментарий в код.
ДальшеCollapse )
This page was loaded Feb 22nd 2017, 9:27 am GMT.