mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-30 18:55:36 +00:00
Improve linking to references.
Use cleveref and add some helper macros for references it can't handle (yet). Support for listings is in a newer version, so look at that in the future.
This commit is contained in:
parent
65dca6e323
commit
54ceda8497
@ -1,4 +1,4 @@
|
|||||||
\usepackage{listings}
|
\RequirePackage{listings}
|
||||||
\lstset{
|
\lstset{
|
||||||
basicstyle=\footnotesize
|
basicstyle=\footnotesize
|
||||||
, numbers = left
|
, numbers = left
|
||||||
@ -18,3 +18,26 @@
|
|||||||
language = WML
|
language = WML
|
||||||
, escapeinside = {/*@}{@*/}}
|
, escapeinside = {/*@}{@*/}}
|
||||||
|
|
||||||
|
%
|
||||||
|
% Cleveref
|
||||||
|
%
|
||||||
|
\RequirePackage{cleveref}
|
||||||
|
% \crefalias{lstnumber}{line}%
|
||||||
|
% \crefalias{lstlisting}{listing}%
|
||||||
|
\newcommand{\equationname}{Equation}
|
||||||
|
|
||||||
|
% Set default formats, the uppercase format also sets the lowercase format.
|
||||||
|
\Crefformat{appendix}{\appendixname~#2#1#3}
|
||||||
|
\Crefformat{chapter}{\chaptername~#2#1#3}
|
||||||
|
\Crefformat{equation}{\equationname\relax~#2#1#3}
|
||||||
|
\Crefformat{figure}{\figurename\relax~#2#1#3}
|
||||||
|
\Crefformat{section}{\S#2#1#3}
|
||||||
|
\Crefformat{table}{\tablename~#2#1#3}
|
||||||
|
\Crefformat{lstlisting}{\lstlistingname~#2#1#3}
|
||||||
|
|
||||||
|
\newcommand{\Liref}[1]{Listing \ref{#1}}
|
||||||
|
|
||||||
|
\newcommand{\Lref}[1]{Line \ref{#1}}
|
||||||
|
\newcommand{\lref}[1]{line \ref{#1}}
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,14 +33,14 @@ the files after which I dive more into the implementation of the file.
|
|||||||
a certain definition of a progress bar.
|
a certain definition of a progress bar.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[hpp] Listing \ref{widget_definition.hpp} contains the sample code.
|
\item[hpp] \Liref{widget_definition.hpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{widget_definition.hpp:control}] Normally a
|
\item[\Lref{widget_definition.hpp:control}] Normally a
|
||||||
widget definition inherits from tcontrol\_definition which defines the
|
widget definition inherits from tcontrol\_definition which defines the
|
||||||
basic mandatory fields for a widget definition and a templated load
|
basic mandatory fields for a widget definition and a templated load
|
||||||
function for the resolution. Most widgets don't add more members to this
|
function for the resolution. Most widgets don't add more members to this
|
||||||
class.
|
class.
|
||||||
\item[Line \ref{widget_definition.hpp:resolution}] Normally a resolution
|
\item[\Lref{widget_definition.hpp:resolution}] Normally a resolution
|
||||||
definition inherits from tresolution\_definition\_ which define the
|
definition inherits from tresolution\_definition\_ which define the
|
||||||
basic mandatory fields for a resolution definition. Not all widgets use
|
basic mandatory fields for a resolution definition. Not all widgets use
|
||||||
these members, but most do. Most widgets don't add more members to this
|
these members, but most do. Most widgets don't add more members to this
|
||||||
@ -49,13 +49,13 @@ the files after which I dive more into the implementation of the file.
|
|||||||
minimum sizes for parts of their control.
|
minimum sizes for parts of their control.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item[cpp] Listing \ref{widget_definition.cpp} contains the sample code.
|
\item[cpp] \Liref{widget_definition.cpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{widget_definition.cpp:textdomain}] Every file in the library
|
\item[\Lref{widget_definition.cpp:textdomain}] Every file in the library
|
||||||
is inside the ``wesnoth-lib'' text domain.
|
is inside the ``wesnoth-lib'' text domain.
|
||||||
\item[Line \ref{widget_definition.cpp:constructor}] The constructor used is
|
\item[\Lref{widget_definition.cpp:constructor}] The constructor used is
|
||||||
pretty typical for all widgets.
|
pretty typical for all widgets.
|
||||||
\item[Line \ref{widget_definition.cpp:resolution_constructor}] The
|
\item[\Lref{widget_definition.cpp:resolution_constructor}] The
|
||||||
constructor used is semi-typical. Resolutions that have their own
|
constructor used is semi-typical. Resolutions that have their own
|
||||||
members initialize them in the constructor, but also validate mandatory
|
members initialize them in the constructor, but also validate mandatory
|
||||||
fields for their existence.
|
fields for their existence.
|
||||||
@ -76,10 +76,10 @@ the files after which I dive more into the implementation of the file.
|
|||||||
the percentage of the bar to be filled.
|
the percentage of the bar to be filled.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{progress_bar.cfg:textdomain}] Every file in the library
|
\item[\Lref{progress_bar.cfg:textdomain}] Every file in the library
|
||||||
is inside the ``wesnoth-lib'' text domain.
|
is inside the ``wesnoth-lib'' text domain.
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.cfg:class}]
|
\item[\Lref{progress_bar.cfg:class}]
|
||||||
Beginning of the progress bar, this part is much better documented in
|
Beginning of the progress bar, this part is much better documented in
|
||||||
the wiki %TODO ref
|
the wiki %TODO ref
|
||||||
since this part is aimed at WML authors, duplicating that effort here
|
since this part is aimed at WML authors, duplicating that effort here
|
||||||
@ -94,9 +94,9 @@ the files after which I dive more into the implementation of the file.
|
|||||||
dynamic content this file is also rather short.
|
dynamic content this file is also rather short.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[hpp] Listing \ref{window_builder.hpp} contains the sample code.
|
\item[hpp] \Liref{window_builder.hpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{window_builder.hpp:control}] Normally a
|
\item[\Lref{window_builder.hpp:control}] Normally a
|
||||||
window builder inherits from tbuilder\_control which defines the
|
window builder inherits from tbuilder\_control which defines the
|
||||||
basic mandatory fields for a window builder.
|
basic mandatory fields for a window builder.
|
||||||
|
|
||||||
@ -106,23 +106,23 @@ the files after which I dive more into the implementation of the file.
|
|||||||
settings, e.g. the spacer defines its fixed size if needed.
|
settings, e.g. the spacer defines its fixed size if needed.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item[cpp] Listing \ref{window_builder.cpp} contains the sample code.
|
\item[cpp] \Liref{window_builder.cpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{window_builder.cpp:textdomain}] Every file in the library
|
\item[\Lref{window_builder.cpp:textdomain}] Every file in the library
|
||||||
is inside the ``wesnoth-lib'' text domain.
|
is inside the ``wesnoth-lib'' text domain.
|
||||||
\item[Line \ref{window_builder.cpp:constructor}] The constructor used is
|
\item[\Lref{window_builder.cpp:constructor}] The constructor used is
|
||||||
pretty typical for all widgets.
|
pretty typical for all widgets.
|
||||||
|
|
||||||
If the constructor initialize custom members it may add some validation.
|
If the constructor initialize custom members it may add some validation.
|
||||||
This is also true when the widget has a grid, like the listbox or
|
This is also true when the widget has a grid, like the listbox or
|
||||||
multi\_page.
|
multi\_page.
|
||||||
\item[Line \ref{window_builder.cpp:build}]
|
\item[\Lref{window_builder.cpp:build}]
|
||||||
This build() is semi-typical, it creates the widget initializes the
|
This build() is semi-typical, it creates the widget initializes the
|
||||||
default fields and returns the created object.
|
default fields and returns the created object.
|
||||||
|
|
||||||
Widgets with their own members initialize them after initializing the
|
Widgets with their own members initialize them after initializing the
|
||||||
default members.
|
default members.
|
||||||
\item[Line \ref{window_builder.cpp:wiki}]
|
\item[\Lref{window_builder.cpp:wiki}]
|
||||||
At the end of the file it contains two wiki comment sections:
|
At the end of the file it contains two wiki comment sections:
|
||||||
|
|
||||||
The first defines a macro with a short description of the widget.
|
The first defines a macro with a short description of the widget.
|
||||||
@ -140,28 +140,28 @@ the files after which I dive more into the implementation of the file.
|
|||||||
invalidated in several functions.}
|
invalidated in several functions.}
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[hpp] Listing \ref{progress_bar.hpp} contains the sample code.
|
\item[hpp] \Liref{progress_bar.hpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{progress_bar.hpp:class}]
|
\item[\Lref{progress_bar.hpp:class}]
|
||||||
Most simple widgets derive from tcontrol, which is the base class of the
|
Most simple widgets derive from tcontrol, which is the base class of the
|
||||||
visual widgets. Another common base is tcontainer or
|
visual widgets. Another common base is tcontainer or
|
||||||
tscrollbar\_container.
|
tscrollbar\_container.
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.hpp:constructor}]
|
\item[\Lref{progress_bar.hpp:constructor}]
|
||||||
The class calls the control constructor with the number of states, which
|
The class calls the control constructor with the number of states, which
|
||||||
is the number of canvases used. Other then that it does the
|
is the number of canvases used. Other then that it does the
|
||||||
initialization of its members. Some constructors do a bit more
|
initialization of its members. Some constructors do a bit more
|
||||||
processing but where a lot needs to be done, it's often deferred to a
|
processing but where a lot needs to be done, it's often deferred to a
|
||||||
finalize function.
|
finalize function.
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.hpp:inherited}]
|
\item[\Lref{progress_bar.hpp:inherited}]
|
||||||
This section implements or overrides member functions of the base class.
|
This section implements or overrides member functions of the base class.
|
||||||
Some functions are pure virtual and need to be overridden others to
|
Some functions are pure virtual and need to be overridden others to
|
||||||
change behaviour.\footnote{Of course a list of which functions are
|
change behaviour.\footnote{Of course a list of which functions are
|
||||||
common the add here would be nice, however the library is still too
|
common the add here would be nice, however the library is still too
|
||||||
volatile to do so, no need to create a soon out of date list.}
|
volatile to do so, no need to create a soon out of date list.}
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.hpp:settersgetters}]
|
\item[\Lref{progress_bar.hpp:settersgetters}]
|
||||||
This section contains the setters and getters for the class. The
|
This section contains the setters and getters for the class. The
|
||||||
list below shows the common convention where T is the type of the
|
list below shows the common convention where T is the type of the
|
||||||
setter/getter and ``foo'' the name of the member without trailing
|
setter/getter and ``foo'' the name of the member without trailing
|
||||||
@ -190,25 +190,25 @@ the files after which I dive more into the implementation of the file.
|
|||||||
setter.
|
setter.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.hpp:state}]
|
\item[\Lref{progress_bar.hpp:state}]
|
||||||
The state has the list of states available and normally has COUNT as
|
The state has the list of states available and normally has COUNT as
|
||||||
last value, which in turn is used in the constructor to initialize the
|
last value, which in turn is used in the constructor to initialize the
|
||||||
base class.
|
base class.
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item[cpp] Listing \ref{progress_bar.cpp} contains the sample code.
|
\item[cpp] \Liref{progress_bar.cpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{progress_bar.cpp:textdomain}] Every file in the library
|
\item[\Lref{progress_bar.cpp:textdomain}] Every file in the library
|
||||||
is inside the ``wesnoth-lib'' text domain.
|
is inside the ``wesnoth-lib'' text domain.
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.cpp:logheader}]
|
\item[\Lref{progress_bar.cpp:logheader}]
|
||||||
The common headers used for logging, this makes sure the output of the
|
The common headers used for logging, this makes sure the output of the
|
||||||
items always have the same format. Used by
|
items always have the same format. Used by
|
||||||
LOG\_FOO \textless\textless{} LOG\_HEADER \textless\textless{} "foo.\textbackslash{}n"; or
|
LOG\_FOO \textless\textless{} LOG\_HEADER \textless\textless{} "foo.\textbackslash{}n"; or
|
||||||
log\_scope(foo, LOG\_SCOPE); % check function signature
|
log\_scope(foo, LOG\_SCOPE); % check function signature
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.cpp:register}]
|
\item[\Lref{progress_bar.cpp:register}]
|
||||||
Registers a widget, this part is really volatile and still has some
|
Registers a widget, this part is really volatile and still has some
|
||||||
hoops and rings to jump through. Normally it works if not too bad and
|
hoops and rings to jump through. Normally it works if not too bad and
|
||||||
look through the other widgets to see how to fix it.
|
look through the other widgets to see how to fix it.
|
||||||
@ -220,7 +220,7 @@ the files after which I dive more into the implementation of the file.
|
|||||||
and read the comment above, dully add your class to the list and be
|
and read the comment above, dully add your class to the list and be
|
||||||
happy.
|
happy.
|
||||||
|
|
||||||
\item[Line \ref{progress_bar.cpp:get_control_type}]
|
\item[\Lref{progress_bar.cpp:get_control_type}]
|
||||||
Simple helper to get the human readable name of the class. The first
|
Simple helper to get the human readable name of the class. The first
|
||||||
version was inlined in the header, but that seems to be an ODR
|
version was inlined in the header, but that seems to be an ODR
|
||||||
violation. At least at some point a compiler or linker complained, can't
|
violation. At least at some point a compiler or linker complained, can't
|
||||||
@ -274,15 +274,15 @@ the files after which I dive more into the implementation of the file.
|
|||||||
to decide which widget s/he picks.
|
to decide which widget s/he picks.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[hpp] Listing \ref{unit_attack.hpp} contains the sample code.
|
\item[hpp] \Liref{unit_attack.hpp} contains the sample code.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{unit_attack.hpp:class}]
|
\item[\Lref{unit_attack.hpp:class}]
|
||||||
Defines the class itself, which normally inherits from tdialog.
|
Defines the class itself, which normally inherits from tdialog.
|
||||||
Sometimes a class inherits from another class, but that class then
|
Sometimes a class inherits from another class, but that class then
|
||||||
derives from tdialog, for example the wml\_dialogs have a common base and
|
derives from tdialog, for example the wml\_dialogs have a common base and
|
||||||
separate classes for left and right.
|
separate classes for left and right.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:constructor}]
|
\item[\Lref{unit_attack.hpp:constructor}]
|
||||||
Dialogues are often created and then shown once before being destroyed,
|
Dialogues are often created and then shown once before being destroyed,
|
||||||
therefore the constructor often takes all parameters needed. Since the show
|
therefore the constructor often takes all parameters needed. Since the show
|
||||||
function shouldn't be overloaded the only other alternative would be member
|
function shouldn't be overloaded the only other alternative would be member
|
||||||
@ -294,18 +294,18 @@ the dialogue is shown twice (using the \emph{same} object) the widgets won't be
|
|||||||
the same. The window owning the widgets is destroyed after being shown and
|
the same. The window owning the widgets is destroyed after being shown and
|
||||||
a new one created upon the next call to show.
|
a new one created upon the next call to show.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:settersgetters}]
|
\item[\Lref{unit_attack.hpp:settersgetters}]
|
||||||
As said before there are often no setters, since all is set in the
|
As said before there are often no setters, since all is set in the
|
||||||
contructor. Most members also remain hidden since the caller has the
|
contructor. Most members also remain hidden since the caller has the
|
||||||
information. Only members that change are `exported'. The most common example in
|
information. Only members that change are `exported'. The most common example in
|
||||||
a class with a listbox, the last selected item is made public, since this is
|
a class with a listbox, the last selected item is made public, since this is
|
||||||
often used as choice the user made.
|
often used as choice the user made.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:window_id}]
|
\item[\Lref{unit_attack.hpp:window_id}]
|
||||||
This function is part of the window registration and only needs to be
|
This function is part of the window registration and only needs to be
|
||||||
declared in the header, the definition will be provided by a macro.
|
declared in the header, the definition will be provided by a macro.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:pre_show}]
|
\item[\Lref{unit_attack.hpp:pre_show}]
|
||||||
This function is called after the window is created but before being
|
This function is called after the window is created but before being
|
||||||
shown. This is the point to set the members that point to a widget. As said
|
shown. This is the point to set the members that point to a widget. As said
|
||||||
before every time the dialogue is shown a newly created window is shown, so
|
before every time the dialogue is shown a newly created window is shown, so
|
||||||
@ -313,35 +313,35 @@ setting the pointers can be unconditional. This is also the place to fill the
|
|||||||
widgets with the proper content, if needed. Eg filling the languages in the
|
widgets with the proper content, if needed. Eg filling the languages in the
|
||||||
language selection dialogue.
|
language selection dialogue.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:post_show}]
|
\item[\Lref{unit_attack.hpp:post_show}]
|
||||||
Called after the dialogue is shown, this allows you to update certain
|
Called after the dialogue is shown, this allows you to update certain
|
||||||
statuses. E.g. if the dialogue is closed with the OK button set the selected
|
statuses. E.g. if the dialogue is closed with the OK button set the selected
|
||||||
language to the newly selected language. You can also update it unconditionally
|
language to the newly selected language. You can also update it unconditionally
|
||||||
and let the caller test the status.
|
and let the caller test the status.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.hpp:members}]
|
\item[\Lref{unit_attack.hpp:members}]
|
||||||
At this point the list of private members start.
|
At this point the list of private members start.
|
||||||
|
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
\item[cpp] Listing \ref{unit_attack.cpp} contains the sample code. Note some
|
\item[cpp] \Liref{unit_attack.cpp} contains the sample code. Note some
|
||||||
parts are already described more verbose in the header and thus not mentioned
|
parts are already described more verbose in the header and thus not mentioned
|
||||||
here.
|
here.
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{unit_attack.cpp:textdomain}]
|
\item[\Lref{unit_attack.cpp:textdomain}]
|
||||||
Like written for the widget, every file is inside the `wesnoth-lib' text
|
Like written for the widget, every file is inside the `wesnoth-lib' text
|
||||||
domain.
|
domain.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cpp:wiki}]
|
\item[\Lref{unit_attack.cpp:wiki}]
|
||||||
Directly after the includes (inside the gui2 namespace) the wiki
|
Directly after the includes (inside the gui2 namespace) the wiki
|
||||||
documentation starts.
|
documentation starts.
|
||||||
|
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cpp:register}]
|
\item[\Lref{unit_attack.cpp:register}]
|
||||||
After the wiki documentation the registration code follows, it defines
|
After the wiki documentation the registration code follows, it defines
|
||||||
the window\_id function and does some other registration parts.
|
the window\_id function and does some other registration parts.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cpp:pre_show}]
|
\item[\Lref{unit_attack.cpp:pre_show}]
|
||||||
The pre\_show is already mentioned in the header file and it the one
|
The pre\_show is already mentioned in the header file and it the one
|
||||||
used here uses several static helper functions to do it's job.
|
used here uses several static helper functions to do it's job.
|
||||||
|
|
||||||
@ -351,17 +351,17 @@ used here uses several static helper functions to do it's job.
|
|||||||
|
|
||||||
\item[src/gui/dialogs/unit\_attack.cfg]
|
\item[src/gui/dialogs/unit\_attack.cfg]
|
||||||
This file contains the WML that defines the widget. It should honour the
|
This file contains the WML that defines the widget. It should honour the
|
||||||
restrains set in the wiki comment like \ref{unit_attack.cpp:wiki}. These
|
restrains set in the wiki comment like \lref{unit_attack.cpp:wiki}. These
|
||||||
constrains set the minimum set of needed widgets and their types, and mentions
|
constrains set the minimum set of needed widgets and their types, and mentions
|
||||||
the optional widgets. How the widgets are placed and whether only the optional
|
the optional widgets. How the widgets are placed and whether only the optional
|
||||||
ones are set is up to the designer of the dialog. The gui toolkit wiki has more
|
ones are set is up to the designer of the dialog. The gui toolkit wiki has more
|
||||||
information on the subject. Still some parts are worth mentioning.
|
information on the subject. Still some parts are worth mentioning.
|
||||||
|
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Line \ref{unit_attack.cfg:textdomain}]
|
\item[\Lref{unit_attack.cfg:textdomain}]
|
||||||
Every file in the library is inside the ``wesnoth-lib'' text domain.
|
Every file in the library is inside the ``wesnoth-lib'' text domain.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cfg:defines}]
|
\item[\Lref{unit_attack.cfg:defines}]
|
||||||
With larger dialogs I often design them on paper and then divide the
|
With larger dialogs I often design them on paper and then divide the
|
||||||
dialog in several sections. These sections often are turned into defines in
|
dialog in several sections. These sections often are turned into defines in
|
||||||
order to keep the main dialog rather simple. WML tends to be verbose and deeply
|
order to keep the main dialog rather simple. WML tends to be verbose and deeply
|
||||||
@ -372,12 +372,12 @@ with other macros. The BIG in the names are just because I want to make a
|
|||||||
different definition of high resolution screens (this will be the first screen
|
different definition of high resolution screens (this will be the first screen
|
||||||
using that feature, but that will be added later).
|
using that feature, but that will be added later).
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cfg:window}]
|
\item[\Lref{unit_attack.cfg:window}]
|
||||||
Not much to tell about this part, since it's all documented in the wiki.
|
Not much to tell about this part, since it's all documented in the wiki.
|
||||||
But do note that due to the defines above the grid in the window itself is
|
But do note that due to the defines above the grid in the window itself is
|
||||||
rather simple.
|
rather simple.
|
||||||
|
|
||||||
\item[Line \ref{unit_attack.cfg:undefines}]
|
\item[\Lref{unit_attack.cfg:undefines}]
|
||||||
The local macros are no longer needed so undefine them, I normally
|
The local macros are no longer needed so undefine them, I normally
|
||||||
undefine them in the oposite order of the definitions, I'm quite sure that's not
|
undefine them in the oposite order of the definitions, I'm quite sure that's not
|
||||||
actually needed, but it feels the right way\texttrademark.
|
actually needed, but it feels the right way\texttrademark.
|
||||||
|
@ -144,7 +144,7 @@ increment operator.
|
|||||||
|
|
||||||
\section{Callbacks}
|
\section{Callbacks}
|
||||||
|
|
||||||
\S~\ref{event_handling} describes the generic event handling for the widgets but
|
\Cref{event_handling} describes the generic event handling for the widgets but
|
||||||
in some cases a widget wants to notify other widgets of a state change. Parts of
|
in some cases a widget wants to notify other widgets of a state change. Parts of
|
||||||
gui2 use simple C-style callbacks for that purpose, but using boost::function
|
gui2 use simple C-style callbacks for that purpose, but using boost::function
|
||||||
makes better replacement. Therefore the code was analysed closer and another
|
makes better replacement. Therefore the code was analysed closer and another
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
\chapter{Files for creating the widget}
|
\chapter{Files for creating the widget}
|
||||||
|
|
||||||
This chapter contains the files created in \S~\ref{sec:creating_the_widget}, these
|
This chapter contains the files created in \cref{sec:creating_the_widget}, these
|
||||||
files aren't the real files added, but a slightly modified version; The
|
files aren't the real files added, but a slightly modified version; The
|
||||||
copyright headers are stripped to avoid taking up useless space. Some extra
|
copyright headers are stripped to avoid taking up useless space. Some extra
|
||||||
comments are added to make referencing possible. This also means the files here
|
comments are added to make referencing possible. This also means the files here
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
\chapter{Files for creating the window}
|
\chapter{Files for creating the window}
|
||||||
|
|
||||||
This chapter like the previous one contains listings of files, this time for
|
This chapter like the previous one contains listings of files, this time for
|
||||||
\S~\ref{sec:creating_the_window}. About the same is true for these files, except
|
\cref{sec:creating_the_window}. About the same is true for these files, except
|
||||||
we know the originals will change in the future.
|
we know the originals will change in the future.
|
||||||
|
|
||||||
\lstinputlisting[style=C++
|
\lstinputlisting[style=C++
|
||||||
|
Loading…
x
Reference in New Issue
Block a user