XML Resource
Encyclopedia
XRC, or XML Resource, or XML Based Resource System is a cross-platform
XML
-based user interface markup language
used by wxWidgets
. XRC allows graphical user interface
elements, such as dialogs, menu bars and toolbars, to be stored as XML, which can be loaded into the application at run-time or translated into a target programming language
and compiled
.
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....
-based user interface markup language
User interface markup language
A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and...
used by wxWidgets
WxWidgets
wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...
. XRC allows graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
elements, such as dialogs, menu bars and toolbars, to be stored as XML, which can be loaded into the application at run-time or translated into a target programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
and compiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
.
Advantages
- Recompiling and linking is not always necessary when changing the interface.
- Separates the interface from the program logic.
- Ability to choose between different resource files at run time.
- XRC is a wxWidgets standard, so it can be generated and processed by any program that understands it.
- They can be written (or generated by other program) once, and used in any supported language which have wxWidgets bindings.
- XML is easier to parse than most programming languages.
- Existing XML editors can be used to edit XRC files.
Tools
Specialised software tools allow creation of XRC files, among them are:- wxFormBuilderWxFormBuilderwxFormBuilder is an open source GUI designer application for wxWidgets toolkit, which allows creating cross-platform applications. A streamlined, easy to use interface enables faster development and easier maintenance of software. It is written in C++....
- XRCed
- wxDesigner
- DialogBlocks
- wxSmith (Code::BlocksCode::BlocksCode::Blocks is a free and open source, cross-platform IDE which supports multiple compilers including GCC and MSVC. It is developed in C++ using wxWidgets as the GUI toolkit. Using a plugin architecture, its capabilities and features are defined by the provided plugins.Currently, Code::Blocks is...
plugin)
See also
- wxWidgetsWxWidgetswxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...
- wxGladeWxGladewxGlade is a program for creating wxWidgets GUIs. It can generate layout code for C++, Lisp, Python and Perl.wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython which helps create wxWidgets/wxPython user interfaces. At the moment it can generate Python, C++, Lisp, Perl...
- an open sourceOpen sourceThe term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
GUI designer that understands XRC - List of user interface markup languages