2012-04-07 20:02:10 +08:00
|
|
|
<TeXmacs|1.0.7.15>
|
2012-03-06 22:23:36 +08:00
|
|
|
|
|
|
|
<style|tmdoc>
|
|
|
|
|
|
|
|
<\body>
|
2012-04-07 20:02:10 +08:00
|
|
|
<tmdoc-title|Extending the graphical user interface>
|
2012-03-06 22:23:36 +08:00
|
|
|
|
|
|
|
Most of the user interface to <TeXmacs> is dynamically created from within
|
2012-04-07 20:02:10 +08:00
|
|
|
the interpreted scheme code. New menus and buttons can be added, or the
|
|
|
|
existing ones reused and rearranged, even the main editor can be embedded
|
|
|
|
anywhere.
|
|
|
|
|
|
|
|
Imagine you want to implement some feature which requires interaction with
|
|
|
|
the user. One possible approach is to use the facility <scm|interactive>,
|
|
|
|
which according to the user's preferences will either popoup a dialog or
|
|
|
|
ask in the footer bar, based in metadata you provide inside your
|
|
|
|
<scm|tm-define>'d function. See <with|color|red|here> for more on this
|
|
|
|
topic. However, automatically generated stuff is not always the best
|
|
|
|
approach, so you might want to explicitly design your interface placing it
|
|
|
|
inside a complicated dialog. The following sections should help with that.
|
|
|
|
|
|
|
|
<\traverse>
|
|
|
|
<branch|An introduction to widgets, dialogs and
|
|
|
|
forms.|scheme-gui-intro.en.tm>
|
|
|
|
|
|
|
|
<branch|Containers, glue and refresh widgets and other advanced
|
|
|
|
topics.|scheme-gui-advanced.en.tm>
|
|
|
|
|
|
|
|
<branch|Complete reference guide of all available
|
|
|
|
widgets.|scheme-gui-reference.en.tm>
|
|
|
|
</traverse>
|
2012-03-06 22:23:36 +08:00
|
|
|
|
|
|
|
\;
|
2012-04-07 20:02:10 +08:00
|
|
|
|
|
|
|
<tmdoc-copyright|2012|the <TeXmacs> team.>
|
|
|
|
|
|
|
|
<tmdoc-license|Permission is granted to copy, distribute and/or modify
|
|
|
|
this\ndocument under the terms of the GNU Free Documentation License,
|
|
|
|
Version 1.1 or\nany later version published by the Free Software
|
|
|
|
Foundation; with no Invariant\nSections, with no Front-Cover Texts, and
|
|
|
|
with no Back-Cover Texts. A copy of\nthe license is included in the section
|
|
|
|
entitled "GNU Free Documentation License".>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
<\initial>
|
|
|
|
<\collection>
|
|
|
|
<associate|preamble|false>
|
|
|
|
</collection>
|
|
|
|
</initial>
|