Support
Contribute
Contact
Tracker
Navigation
Personal tools
 

Edje Data Collection


An Edje Data Collection, its a plain text file (normally identified with the .edc extension),consisting of instructions for the Edje Compiler.

Contents

Syntax

The display and layout system uses an structure known as containers to layout the graphical elements to display.

The syntax for the edje data collection files follows a simple structure of blocks { .. } that can contain properties: ..;, more blocks, or both.

Foundational Blocks

Complex graphical elements like Fonts and Images need additional blocks that hold supporting information, often these blocks represent a list of default values that can be altered later by the application

Images

images {
  image: "filename1.ext" COMP;
  image: "filename2.ext" LOSSY 99;
  image: "filename3.ext" COMP;
  ...
}

This block contains a list of image filenames and their compression method (if one is required). Every image used in the interface needs to be declared inside an images block first. The image filenames should never contain an absolute directory structure since its supposed to be setup at compile time.

Fonts

fonts {
  font: "filename1.ext" "fontname";
  font: "filename2.ext" "otherfontname";
  font: "filename3.ext" "yetanotherfontname";
  ...
}

This block contains a list of filenames representing a supported font type alongside an abstract name that will be used later in the theme. As with "images", the fonts directory structure can be changed at compile time.

Color Classes

color_classes{
    color_class{
	name:  "colorclassname";
	color:  0-255 0-255 0-255 0-255;
        color2: 0-255 0-255 0-255 0-255;;
        color3: 0-255 0-255 0-255 0-255;
    }
    ...
}

The color_classes block contains a list of one or more color_class blocks. Each color_class block allows the designer to pair up one "color set" with one abstract name, like "background" or "title text". The abstract name can be used later by the application to change the color values at runtime without having to update the theme file.

Spectra

spectra {
  spectrum {
    name: "colorspectrumname";
    color: 0-255 0-255 0-255 0-255 1;
    color: 0-255 0-255 0-255 0-255 1;
    ...
  }
  ...
}

The spectra block contains a list of one or more spectrum blocks. A spectrum block allows the designer to create a color spectrum of two or more colors, and label the combination with an abstract name for future reference by the gradient parts

Styles

styles {
  style {
    name: "styleName"; 
    base: "generalStyleProperties";

    tag:  "tagName" "styleProperties";
    ...
  }
  ...
}

The styles block contains a list of one or more style blocks, which allow the designer to set the properties for advanced text formatting.

Collections

collections {
  group {
  }
  group {
  }
  ...
}

This block must be unique in the EDC and its used to declare a list of group blocks (usually declared in different files to simplify readability).

Using multiple EDC files

Some interfaces can consist of a big number of groups and parts, in order to keep your data collections manageable, it's recommended to use multiple EDC files.

To use multiple EDC files, you need to use the #include keyword. You can divide your main EDC file like this for example :

fonts {
#include "fonts.edc"
}

images {
#include "images.edc"
}

collections {
#include "collection1.edc"
#include "collection2.edc"
...
}

Using macros

Macros are used in the same fashion than C preprossesor macros. Until there is some content in this section please visit the wikipedia article about macros.