wxWidgets App With Plugins (Windows/Linux/Mac) – Sample Source Code

I can see that there is still a lot of topics at wxWidgets forums related to usage of shared libs or plugins with wxWidgets apps on different platform.

For Windows it’s not hard to implement such app but on Linux and OS X this may be quite tricky (especially when you are not planning to use installer for your app and create the app which will work on different machines without need to recompile it).

So, specially for those, who still has problems with implementation of plugins for wxWidgets apps, I created the sample which compiles and runs on all 3 platforms, has 2 types of plugins (with and without GUI), creates the relocatable application where all plugins and other libs search for dependencies using relative paths which means that you don’t need to rebuild the app on different machines to make it work.

You can find the complete source code at GitHub: Modular wxWidgets Application with Plugins

The project is under development since I’m writing an article about this in parallel, so you are welcome to follow the project at GitHub and try the new versions.


Features which I plan to add in nearest updates:

  • Embedding of wxWidgets libs into OS X Bundle
  • Embedding of wxWidgets libs into application’s distro for Linux
  • Document/View: Support of different file formats using plugins
  • Communication between plugins

So, stay tuned, start watching the project at GitHub!

wxJSON 1.0 Released

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

This is the first stable release of the wxJSON library. The major version had changed because I introduced some compatibility breaks with the old 0.x versions as well as some new features.
To know more about this read this page

Links:

wxJSON 0.5.0 Released

This wxJSON release adds support for 64-bits integers on those platforms that have native support for it such as, for example, Windows and GNU/Linux.

You can disable 64-bits integer support if you do not need (or do not want) it. The new version is compatible wih the past: if you do not need 64-bits integers you can still use this new version of the library without the need to rewrite your application.

To know more about the new feature read the this page:

wxJSON 0.4 Released

This release adds the ‘copy-on-write’ feature to the copy ctor and assignment operator of JSON value class.
Note that this new feature only affects the internal representation of JSON values and does not add new features in the class’s interface.
Also note that for JSON value objects, COW is not as efficient as expected.
To know more about this topic read this page:

The wxJSON library is now complete and this release should be considered a final beta release.
JSON data format is very stable. It is accredited to be stable forever or, at least, until programming language’s variables are based on numbers, strings, booleans, structures and arrays.

No other feature should have to be added to the library and I think that, after a few months used for discovering and fixing bugs, I will release the stable version 1.0

This will be the good occasion to, eventually, break the compatibility with the old versions 0.x by changing memberfunction’s names and/or parameters.
If you have any comment, suggestion or hint, feel free to write to me or post an answer to this topic.

Regards
Luciano

Нужна помощь в улучшении документации к библиотеке wxWidgets

wxWidgets находится в процессе работы над улучшением документации – мигрирации из текущей системы, основанной на LaTeX, в Doxygen (используя отдельный набор “интерфейсных” заголовков, вместо рабочих заголовков wxWidgets).

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

Итак, мы нуждаемся в вашей помощи для завершения этого процесса в разумные сроки. Все подробности можно найти здесь.

Если вы заинтересованы, но вам надо информация о том, как все настроить, или если у вас есть какие-либо сомнения или вопросы, не стесняйтесь задать их здесь.

Это хорошая возможность:

  • Познакомиться с wxWidgets ближе
  • Улучшить те части документации, которые вам не очень нравились
  • Помочь сделать wxWidgets еще более конкурентоспособным инструментом разработки

wxJSON 0.3.0 Released

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition – December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.

This release adds support for Unicode.
Read more about the new features of wxJSON.