forked from enlightenment/efl
parent
9ea2ce1041
commit
c96a620b46
|
@ -603,7 +603,8 @@ INPUT = @top_srcdir@/src/lib \
|
|||
@srcdir@/eio_examples.dox \
|
||||
@srcdir@/edbus_examples.dox \
|
||||
@srcdir@/ephysics_examples.dox \
|
||||
@srcdir@/edje_examples.dox
|
||||
@srcdir@/edje_examples.dox \
|
||||
@top_srcdir@/src/bin/edje/edje_cc_handlers.c
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||
|
@ -1696,3 +1697,24 @@ GENERATE_LEGEND = YES
|
|||
# the various graphs.
|
||||
|
||||
DOT_CLEANUP = YES
|
||||
|
||||
# Aliases used by edcref
|
||||
ALIASES = block="<tr><td class=\"block\"><b>"
|
||||
ALIASES += context="</b></td><td class=\"context\" colspan=2>\code"
|
||||
ALIASES += description="\endcode</td></tr><tr><td> </td><td class=\"description\" colspan=2>"
|
||||
ALIASES += endblock="</td></tr>"
|
||||
ALIASES += property="<tr><td> </td><td><table class=\"edcref\" border=\"0\"><tr><td class=\"property\"><tt>"
|
||||
ALIASES += parameters="</tt></td><td class=\"parameters\"><tt>"
|
||||
ALIASES += effect="</tt></td></tr><tr><td> </td><td class=\"effect\">"
|
||||
ALIASES += endproperty="</td></tr></table></td></tr>"
|
||||
ALIASES += edcsection{2}="<tr class=\"section\"><td class=\"section\" colspan=\"2\">\anchor sec_\1 \ref sec_quickaccess \"\2\"</td></tr>"
|
||||
ALIASES += edcsubsection{2}="<tr class=\"subsection\"><td class=\"subsection\" colspan=\"2\">\anchor sec_\1 \ref sec_quickaccess \"\2\"</td></tr>"
|
||||
|
||||
# Aliases used by luaref
|
||||
ALIASES += luaclass{2}="\anchor \1 \n<div class=\"luaclass\">\2</div>"
|
||||
ALIASES += attributes="<div class=\"luaattrib\">Attributes:</div>"
|
||||
ALIASES += methods="<div class=\"luaattrib\">Methods:</div>"
|
||||
ALIASES += events="<div class=\"luaattrib\">Events:</div>"
|
||||
ALIASES += setters="<div class=\"luaattrib\">Setters:</div>"
|
||||
ALIASES += seealso{2}="<b>See also:</b> <a href='\2'>\1</a>\n"
|
||||
ALIASES += seealso{1}="<b>See also:</b> \1\n"
|
||||
|
|
34
doc/e.css
34
doc/e.css
|
@ -271,3 +271,37 @@ td.nav_active {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
table.edcref tr td.block {
|
||||
vertical-align: top;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
table.edcref tr.section td.section, div.luaclass {
|
||||
color: #888;
|
||||
font-size: 16pt;
|
||||
padding: 15px;
|
||||
border-top: 1px solid #ccc;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.edcref tr.section td.section a {
|
||||
color: #888;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
table.edcref tr.subsection td.subsection, div.luaclass {
|
||||
color: #888;
|
||||
font-size: 11pt;
|
||||
padding: 1px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.edcref tr.subsection td.subsection a {
|
||||
color: #888;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
div.luaattrib {
|
||||
color: #888;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* @page edje_examples Examples
|
||||
* @page edje_examples Edje Examples
|
||||
*
|
||||
* Examples:
|
||||
* @li @ref Example_Edje_Basics
|
||||
|
|
39
doc/main.dox
39
doc/main.dox
|
@ -20,6 +20,7 @@
|
|||
* @li @ref efreet_main freedesktop.org (xdg) menu and desktop integration.
|
||||
* @li @ref eeze_main hardware device manipulation and notification.
|
||||
* @li @ref ephysics_main physics simulation integration and visual effects.
|
||||
* @li @ref edje_main layout and theme library with super powers.
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -27,33 +28,44 @@
|
|||
* @page authors Authors
|
||||
*
|
||||
* @author Adam Simpkins <adam@@adamsimpkins.net>
|
||||
* @author Aharon Hillel <a.hillel@@partner.samsung.com>
|
||||
* @author Albin "Lutin" Tonnerre <albin.tonnerre@@gmail.com>
|
||||
* @author Andre Dieb <andre.dieb@@gmail.com>
|
||||
* @author Andrew Elcock <andy@@elcock.org>
|
||||
* @author Arnaud de Turckheim 'quarium' <quarium@@gmail.com>
|
||||
* @author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com>
|
||||
* @author billiob (Boris Faure) <billiob@@gmail.com>
|
||||
* @author Bluezery <ohpowel@@gmail.com>
|
||||
* @author Boris "billiob" Faure <billiob@@gmail.com>
|
||||
* @author Brett Nash <nash@@nash.id.au>
|
||||
* @author Brian 'rephorm' Mattern <rephorm@@rephorm.com>
|
||||
* @author Brian Mattern <rephorm@@rephorm.com>
|
||||
* @author Bruno Dilly <bdilly@@profusion.mobi>
|
||||
* @author Burra <burra@@colorado.edu>
|
||||
* @author Carsten Haitzler <raster@@@rasterman.com>
|
||||
* @author Cedric Bail <cedric.bail@@free.fr>
|
||||
* @author Cedric BAIL <cedric.bail@@free.fr>
|
||||
* @author Chidambar Zinnoury <illogict@@online.fr>
|
||||
* @author Chris Ross <chris@@darkrock.co.uk>
|
||||
* @author Christophe Dumez <christophe.dumez@@intel.com>
|
||||
* @author Christopher 'devilhorns' Michael <cpmichael1@comcast.net>
|
||||
* @author ChunEon Park <hermet@@hermet.pe.kr>
|
||||
* @author ChunEon Park (Hermet) <hermet@@hermet.pe.kr>
|
||||
* @author Corey "atmos" Donohoe <atmos@@atmos.org>
|
||||
* @author dan sinclair <zero@@everburning.com>
|
||||
* @author Daniel Juyung Seo <seojuyung2@gmail.com> <juyung.seo@@samsung.com>
|
||||
* @author Daniel Willmann <daniel@@totalueberwachung.de>
|
||||
* @author Daniel Willmann <d.willmann@@samsung.com>
|
||||
* @author Daniel Zaoui <daniel.zaoui@@yahoo.com>
|
||||
* @author David 'onefang' Seikel <onefang@@gmail.com>
|
||||
* @author David Goodlad <dgoodlad@@gmail.com>
|
||||
* @author David Seikel <onefang at gmail.com>
|
||||
* @author Davide Andreoli <dave@@gurumeditation.it>
|
||||
* @author Doyoun Kang <wayofmine@@gmail.com> <doyoun.kang@@samsung.com>
|
||||
* @author Fabiano Fidêncio <fidencio@@profusion.mobi>
|
||||
* @author Flavio Ceolin <flavio.ceolin@@profusion.mobi>
|
||||
* @author Govindaraju SM <govi.sm@@samsung.com> <govism@@gmail.com>
|
||||
* @author Guilherme Silveira <xguiga@@gmail.com>
|
||||
* @author Guillaume Friloux <guillaume.friloux@@asp64.com>
|
||||
* @author Gustavo Chaves <glima@@profusion.mobi>
|
||||
* @author Gustavo Lima Chaves <glima@@profusion.mobi>
|
||||
* @author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
|
||||
* @author Gwanglim Lee <gl77.lee@@samsung.com> <gwanglim@@gmail.com>
|
||||
* @author Haifeng Deng <haifeng.deng@@samsung.com>
|
||||
|
@ -62,12 +74,14 @@
|
|||
* @author Hyoyoung Chang <hyoyoung@@gmail.com>
|
||||
* @author Ibukun Olumuyiwa <ibukun@@computer.org>
|
||||
* @author Iván Briano <ivan@@profusion.mobi>
|
||||
* @author Jaehwan Kim <jae.hwan.kim@@samsung.com>
|
||||
* @author Jihoon Kim <jihoon48.kim@@samsung.com> <imfine98@gmail.com>
|
||||
* @author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com>
|
||||
* @author Jose O Gonzalez <jose_ogp@@juno.com>
|
||||
* @author José Roberto de Souza <zehortigoza@@profusion.mobi>
|
||||
* @author Jérémy Zurcher <jeremy@@asynk.ch>
|
||||
* @author Jérôme Pinot <ngc891@gmail.com>
|
||||
* @author Jérôme Pinot <ngc891@@gmail.com>
|
||||
* @author Kim Shinwoo <kimcinoo.efl@@gmail.com>
|
||||
* @author Kim Woelders <kim@@woelders.dk>
|
||||
* @author Kim Yunhan <spbear@@gmail.com>
|
||||
* @author Lars Munch <lars@@segv.dk>
|
||||
|
@ -79,8 +93,9 @@
|
|||
* @author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
|
||||
* @author Matt Barclay <mbarclay@@gmail.com>
|
||||
* @author Michael 'Mickey' Lauer <mickey@@tm.informatik.uni-frankfurt.de>
|
||||
* @author Michael Bouchaud (yoz) <michael.bouchaud@@gmail.com>
|
||||
* @author Mikael Sans <sans.mikael@@gmail.com>
|
||||
* @author Mike Blumenkrantz <michael.blumenkrantz@@gmail.com>
|
||||
* @author Mike Blumenkrantz <michael.blumenkrantz@@gmail.com
|
||||
* @author Mike McCormack <mj.mccormack@@samsung.com>
|
||||
* @author Myoungwoon Roy Kim(roy_kim) <myoungwoon.kim@@samsung.com> <myoungwoon@@gmail.com>
|
||||
* @author Myungjae Lee <mjae.lee@@samsung.com>
|
||||
|
@ -90,10 +105,13 @@
|
|||
* @author Nicolas Aguirre <aguirre.nicolas@@gmail.com>
|
||||
* @author Peter Wehrfritz <peter.wehrfritz@@web.de>
|
||||
* @author PnB <Poor.NewBie@@gmail.com>
|
||||
* @author Prince Kumar Dubey <prince.dubey@@samsung.com> <prince.dubey@@gmail.com>
|
||||
* @author Rafael Antognolli <antognolli@@profusion.mobi>
|
||||
* @author Rafal Krypa <r.krypa@@samsung.com>
|
||||
* @author Rajeev Ranjan (Rajeev) <rajeev.r@@samsung.com> <rajeev.jnnce@@gmail.com>
|
||||
* @author Raphael Kubo da Costa <kubo@@profusion.mobi>
|
||||
* @author Ricardo de Almeida Gonzaga <ricardo@@profusion.mobi>
|
||||
* @author Robert David <robert.david.public@@gmail.com>
|
||||
* @author Rui Miguel Silva Seabra <rms@@1407.org>
|
||||
* @author Samsung Electronics
|
||||
* @author Samsung SAIT
|
||||
|
@ -106,19 +124,22 @@
|
|||
* @author Sung W. Park <sungwoo@@gmail.com>
|
||||
* @author Term <term@@twistedpath.org>
|
||||
* @author Thierry el Borgi <thierry@@substantiel.fr>
|
||||
* @author Tiago Falcão <tiago@@profusion.mobi>
|
||||
* @author Till Adam <till@@adam-lilienthal.de>
|
||||
* @author Tilman Sauerbeck <tilman@@code-monkey.de>
|
||||
* @author Tim Horton <hortont424@gmail.com>
|
||||
* @author Tom Gilbert <tom@@linuxbrit.co.uk>
|
||||
* @author Tom Hacohen <tom@@stosb.com>
|
||||
* @author Tristan <blunderer@@gmail.com>
|
||||
* @author Vikram Narayanan <vikram186@gmail.com>
|
||||
* @author Vincent Torri <vincent.torri@@gmail.com>
|
||||
* @author Vincent Torri <vtorri@@univ-evry.fr>
|
||||
* @author Willem Monsuwe <willem@@stack.nl>
|
||||
* @author WooHyun Jung (woohyun) <woohyun0705@@gmail.com>
|
||||
* @author xlopez@@igalia.com
|
||||
* @author Youness Alaoui <kakaroto@@kakaroto.homelinux.net>
|
||||
* @author Yuri <da2001@hotmail.ru>
|
||||
* @author Yuri Hudobin <glassy_ape@@users.sourceforge.net>
|
||||
* @author ZigsMcKenzie <zigsmckenzie@@gmail.com>
|
||||
*
|
||||
* Please contact <enlightenment-devel@@lists.sourceforge.net> to get in
|
||||
* contact with the developers and maintainers.
|
||||
|
@ -196,3 +217,9 @@
|
|||
*
|
||||
* @brief Hardware device manipulation and notification, wraps UDev and similar.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup Edje
|
||||
*
|
||||
* @brief Layout and theme library with super-powers.
|
||||
*/
|
||||
|
|
|
@ -3,13 +3,19 @@
|
|||
|
||||
These routines are used for Edje.
|
||||
|
||||
@mainpage Edje Library Documentation
|
||||
@version 1.7
|
||||
@date 2003-2012
|
||||
@page edje_main Edje
|
||||
|
||||
Please see the @ref authors page for contact details.
|
||||
@date 2003 (created)
|
||||
|
||||
@section intro What is Edje?
|
||||
@section toc Table of Contents
|
||||
|
||||
@li @ref edje_main_intro
|
||||
@li @ref edje_main_work
|
||||
@li @ref edje_main_compiling
|
||||
@li @ref edje_main_next_steps
|
||||
@li @ref edje_main_intro_example
|
||||
|
||||
@section edje_main_intro Introduction
|
||||
|
||||
Edje is a complex graphical design & layout library.
|
||||
|
||||
|
@ -45,54 +51,9 @@ almost any look and feel one could want for basic visual elements. Anything
|
|||
more complex is likely the domain of an application or widget set that may
|
||||
use Edje as a convenient way of being able to configure parts of the display.
|
||||
|
||||
For details of Edje's history, see the \ref history section.
|
||||
For details of Edje's history, see the @ref edje_history section.
|
||||
|
||||
|
||||
@section requirements What does Edje require?
|
||||
|
||||
Edje requires fairly little on your system. to use the Edje runtime library
|
||||
you need:
|
||||
|
||||
- Evas (library)
|
||||
- Ecore (library)
|
||||
- Eet (library)
|
||||
- Embryo (library)
|
||||
- Eina (library)
|
||||
- Lua 5.1 (library)
|
||||
|
||||
Evas needs to be build with the JPEG, PNG and EET image loaders enabled at a
|
||||
minimum. You will also need the buffer engine (which requires the
|
||||
software_generic engine) as well.
|
||||
|
||||
Ecore (library) needs the ECORE and ECORE_EVAS modules built at a minimum.
|
||||
It's suggested to build all the Ecore modules. You will beed the Buffer
|
||||
engine support built into Ecore_Evas for edje_cc to function.
|
||||
|
||||
|
||||
@section compiling How to compile and test Edje
|
||||
|
||||
Now you need to compile and install Edje.
|
||||
|
||||
@verbatim
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
@endverbatim
|
||||
|
||||
You now have it installed and ready to go, but you need input
|
||||
data. There are lots of examples in SVN, the best one is
|
||||
Enlightenment's own theme file.
|
||||
|
||||
You may use different tools to edit and view the generated ".edj"
|
||||
files, for instance:
|
||||
|
||||
- edje_player (provided by Edje)
|
||||
- edje_codegen (provided by Edje) @since 1.8.0
|
||||
- editje (http://trac.enlightenment.org/e/wiki/Editje)
|
||||
- edje_viewer (http://trac.enlightenment.org/e/wiki/Edje_Viewer)
|
||||
|
||||
|
||||
@section details So how does this all work?
|
||||
@subsection edje_main_work So how does this all work?
|
||||
|
||||
Edje internally holds a geometry state machine and state graph of what is
|
||||
visible, not, where, at what size, with what colors etc. This is described
|
||||
|
@ -105,20 +66,7 @@ The application using Edje will then create an object in its Evas
|
|||
canvas and set the bundle file to use, specifying the @b group name to
|
||||
use. Edje will load such information and create all the required
|
||||
children objects with the specified properties as defined in each @b
|
||||
part of the given group. See the following example:
|
||||
@include edje_example.c
|
||||
|
||||
The above example requires the following annotated source Edje file:
|
||||
@include edje_example.edc
|
||||
|
||||
|
||||
One should save these files as edje_example.c and edje_example.edc then:
|
||||
@verbatim
|
||||
gcc -o edje_example edje_example.c `pkg-config --cflags --libs eina evas ecore ecore-evas edje`
|
||||
edje_cc edje_example.edc
|
||||
|
||||
./edje_example "some text"
|
||||
@endverbatim
|
||||
part of the given group. See the example at @ref edje_main_intro_example.
|
||||
|
||||
Although simple, this example illustrates that animations and state
|
||||
changes can be done from the Edje file itself without any requirement
|
||||
|
@ -127,8 +75,7 @@ in the C application.
|
|||
Before digging into changing or creating your own Edje source (edc)
|
||||
files, read the @ref edcref.
|
||||
|
||||
|
||||
@section history Edje History
|
||||
@subsection edje_history Edje History
|
||||
|
||||
It's a sequel to "Ebits" which has serviced the needs of Enlightenment
|
||||
development for early version 0.17. The original design parameters under
|
||||
|
@ -148,63 +95,59 @@ basic GUI constructor.
|
|||
|
||||
Unlike Ebits, Edje separates the layout and behavior logic.
|
||||
|
||||
@section edje_main_compiling How to compile
|
||||
|
||||
@section Edje_Examples Examples on Edje's usage
|
||||
Edje is a library your application links to. The procedure for this is
|
||||
very simple. You simply have to compile your application with the
|
||||
appropriate compiler flags that the @c pkg-config script outputs. For
|
||||
example:
|
||||
|
||||
Compiling C or C++ files into object files:
|
||||
|
||||
@verbatim
|
||||
gcc -c -o main.o main.c `pkg-config --cflags edje`
|
||||
@endverbatim
|
||||
|
||||
Linking object files into a binary executable:
|
||||
|
||||
@verbatim
|
||||
gcc -o my_application main.o `pkg-config --libs edje`
|
||||
@endverbatim
|
||||
|
||||
See @ref pkgconfig
|
||||
|
||||
@section edje_main_next_steps Next Steps
|
||||
|
||||
After you understood what Edje is and installed it in your system you
|
||||
should proceed understanding the programming interface for all
|
||||
objects, then see the specific for the most used elements. We'd
|
||||
recommend you to take a while to learn @ref Ecore, @ref Evas, @ref Eo
|
||||
and @ref Eina as they are the building blocks for Edje. There is a
|
||||
widget set built on top of Edje providing high level elements such as
|
||||
buttons, lists and selectors called Elementary
|
||||
(http://docs.enlightenment.org/auto/elementary/) as they will likely
|
||||
save you tons of work compared to using just Evas directly.
|
||||
|
||||
Recommended reading:
|
||||
@li @ref edcref
|
||||
@li @ref Edje_General_Group
|
||||
@li @ref Edje_Object_Group
|
||||
@li @ref Edje_External_Group
|
||||
|
||||
@section edje_main_intro_example Introductory Example
|
||||
|
||||
What follows is a list with various commented examples, covering a great
|
||||
part of Edje's API:
|
||||
|
||||
@note The example files are located at /Where/Enlightenment/is/installed/share/edje/examples
|
||||
@include edje_example.c
|
||||
|
||||
- @ref Example_Edje_Basics
|
||||
- @ref tutorial_edje_basic2
|
||||
- @ref tutorial_edje_swallow
|
||||
- @ref tutorial_edje_swallow2
|
||||
- @ref tutorial_edje_table
|
||||
- @ref tutorial_edje_box
|
||||
- @ref tutorial_edje_box2
|
||||
- @ref tutorial_edje_color_class
|
||||
- @ref tutorial_edje_animations
|
||||
- @ref tutorial_edje_animations_2
|
||||
- @ref Example_Edje_Signals_Messages
|
||||
- @ref tutorial_edje_signals_2
|
||||
- @ref tutorial_edje_text
|
||||
- @ref tutorial_edje_drag
|
||||
- @ref tutorial_edje_perspective
|
||||
The above example requires the following annotated source Edje file:
|
||||
@include edje_example.edc
|
||||
|
||||
|
||||
More examples can be found at @ref edje_examples.
|
||||
*/
|
||||
|
||||
/**
|
||||
@page authors Authors
|
||||
@author Carsten Haitzler <raster@@rasterman.com>
|
||||
@author Tilman Sauerbeck (tilman at code-monkey de)
|
||||
@author ZigsMcKenzie <zigsmckenzie@@gmail.com>
|
||||
@author Cedric BAIL <cedric.bail@@free.fr>
|
||||
@author Brian Mattern <rephorm@@rephorm.com>
|
||||
@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
|
||||
@author Tristan <blunderer@@gmail.com>
|
||||
@author Gustavo Lima Chaves <glima@@profusion.mobi>
|
||||
@author Bruno Dilly <bdilly@@profusion.mobi>
|
||||
@author Fabiano Fidêncio <fidencio@@profusion.mobi>
|
||||
@author Jihoon Kim <jihoon48.kim@@samsung.com>
|
||||
@author Tiago Falcão <tiago@@profusion.mobi>
|
||||
@author Davide Andreoli <dave@@gurumeditation.it>
|
||||
@author Sebastian Dransfeld <sd@@tango.flipp.net>
|
||||
@author Tom Hacohen <tom@@stosb.com>
|
||||
@author Aharon Hillel <a.hillel@@samsung.com>
|
||||
@author Shilpa Singh <shilpa.singh@samsung.com> <shilpasingh.o@gmail.com>
|
||||
@author Mike Blumenkrantz <michael.blumenkrantz@gmail.com
|
||||
@author Jaehwan Kim <jae.hwan.kim@samsung.com>
|
||||
@author billiob (Boris Faure) <billiob@gmail.com>
|
||||
@author Govindaraju SM <govi.sm@samsung.com> <govism@gmail.com>
|
||||
@author Prince Kumar Dubey <prince.dubey@samsung.com> <prince.dubey@gmail.com>
|
||||
@author David Seikel <onefang at gmail.com>
|
||||
@author Guilherme Íscaro <iscaro@profusion.mobi>
|
||||
|
||||
Please contact <enlightenment-devel@lists.sourceforge.net> to get in
|
||||
contact with the developers and maintainers.
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@example embryo_custom_state.edc
|
||||
|
@ -260,6 +203,7 @@ param in edje programs
|
|||
|
||||
/**
|
||||
* @defgroup Edje_General_Group Edje General
|
||||
* @ingroup Edje
|
||||
*
|
||||
* @brief This group discusses functions that have general purposes or affect Edje as a whole.
|
||||
*
|
||||
|
@ -524,6 +468,7 @@ EAPI void edje_collection_cache_flush (void);
|
|||
|
||||
/**
|
||||
* @defgroup Edje_External_Group Edje External
|
||||
* @ingroup Edje
|
||||
*
|
||||
* @brief This group discusses functions of the external section of Edje.
|
||||
*
|
||||
|
@ -3253,6 +3198,7 @@ EAPI const Edje_External_Type *edje_external_type_get (const char
|
|||
|
||||
/**
|
||||
* @defgroup Edje_Object_Group Edje Object
|
||||
* @ingroup Edje
|
||||
*
|
||||
* @brief This group discusses functions that deal with Edje layouts and its components
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue