doc: add econ-based text doc exported from previous ear-based eCdoc format.
authorRejean Loyer <redj@ecere.com>
Tue, 16 Feb 2016 21:15:31 +0000 (16:15 -0500)
committerJerome St-Louis <jerome@ecere.com>
Thu, 28 Jul 2016 22:23:18 +0000 (18:23 -0400)
54 files changed:
Makefile
doc/EDA.eCdoc [deleted file]
doc/EDA/eda/MoveOptions.econ [new file with mode: 0644]
doc/EDA/eda/_global-defs.econ [new file with mode: 0644]
doc/ecere.eCdoc [deleted file]
doc/ecere/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/com/Array.econ [new file with mode: 0644]
doc/ecere/ecere/com/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/Bitmap.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/BitmapResource.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/Color.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/Display.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/FontResource.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/Surface.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/drivers/Font.econ [new file with mode: 0644]
doc/ecere/ecere/gfx/drivers/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gfx3D/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gui/Anchor.econ [new file with mode: 0644]
doc/ecere/ecere/gui/BorderStyle.econ [new file with mode: 0644]
doc/ecere/ecere/gui/Key.econ [new file with mode: 0644]
doc/ecere/ecere/gui/KeyCode.econ [new file with mode: 0644]
doc/ecere/ecere/gui/Percentage.econ [new file with mode: 0644]
doc/ecere/ecere/gui/PredefinedKey.econ [new file with mode: 0644]
doc/ecere/ecere/gui/Timer.econ [new file with mode: 0644]
doc/ecere/ecere/gui/Window.econ [new file with mode: 0644]
doc/ecere/ecere/gui/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gui/controls/BufferLocation.econ [new file with mode: 0644]
doc/ecere/ecere/gui/controls/DropBox.econ [new file with mode: 0644]
doc/ecere/ecere/gui/controls/EditBox.econ [new file with mode: 0644]
doc/ecere/ecere/gui/controls/Label.econ [new file with mode: 0644]
doc/ecere/ecere/gui/controls/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gui/dialogs/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/gui/skins/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/net/_global-defs.econ [new file with mode: 0644]
doc/ecere/ecere/sys/NamedLink64.econ [new file with mode: 0644]
doc/ecere/ecere/sys/Point.econ [new file with mode: 0644]
doc/ecere/ecere/sys/_global-defs.econ [new file with mode: 0644]
doc/ecereCOM.eCdoc [deleted file]
doc/ecereCOM/bool.econ [new file with mode: 0644]
doc/ecereCOM/byte.econ [new file with mode: 0644]
doc/ecereCOM/char-pointer.econ [new file with mode: 0644]
doc/ecereCOM/char.econ [new file with mode: 0644]
doc/ecereCOM/double.econ [new file with mode: 0644]
doc/ecereCOM/float.econ [new file with mode: 0644]
doc/ecereCOM/int.econ [new file with mode: 0644]
doc/ecereCOM/int64.econ [new file with mode: 0644]
doc/ecereCOM/struct.econ [new file with mode: 0644]
doc/ecereCOM/uint.econ [new file with mode: 0644]
doc/ecereCOM/uint16.econ [new file with mode: 0644]
doc/ecereCOM/uint32.econ [new file with mode: 0644]
doc/ecereCOM/uint64.econ [new file with mode: 0644]
doc/ecereCOM/unsigned-int.econ [new file with mode: 0644]

index c8ffe69..d4f024a 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -485,7 +485,7 @@ endif
        $(call rmr,obj/)
        @$(call echo,Done.)
 
-DOC = doc/ecere.eCdoc doc/ecereCOM.eCdoc doc/EDA.eCdoc
+DOC = doc
 
 BINARIES = \
        ecere/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)$(DEBUG_SUFFIX)/$(LP)ecere$(SOV) \
@@ -632,9 +632,7 @@ ifdef CodeGuard
 endif
        $(call cp,$(OBJLIBDIR)libecereVanilla$(A),"$(DESTSLIBDIR)/")
        $(call cp,doc/tao.pdf,"$(DOCDIR)/Ecere Tao of Programming [work in progress].pdf") || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
-       $(call cp,doc/ecere.eCdoc,"$(DOCDIR)/")
-       $(call cp,doc/ecereCOM.eCdoc,"$(DOCDIR)/")
-       $(call cp,doc/EDA.eCdoc,"$(DOCDIR)/")
+       $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
 endif
 
 ifdef OSX_TARGET
@@ -662,9 +660,7 @@ endif
        install $(OBJLIBDIR)libecereVanilla$(A) $(DESTSLIBDIR)/
        install -d $(DOCDIR)/
        install doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
-       install doc/ecere.eCdoc $(DOCDIR)/
-       install doc/ecereCOM.eCdoc $(DOCDIR)/
-       install doc/EDA.eCdoc $(DOCDIR)/
+       $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
        mkdir -p $(MANDIR)/man1
        cp -pRf share/man/man1/* $(MANDIR)/man1
        mkdir -p $(SAMPLESDIR)
@@ -735,11 +731,8 @@ endif
 ifdef BSD_HOST
        install $(INSTALL_FLAGS) -d $(DOCDIR)
 endif
-       install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
        install $(INSTALL_FLAGS) -m 644 doc/tao.pdf $(DOCDIR)/"Ecere Tao of Programming [work in progress].pdf" >/dev/null 2>&1 || echo "The Ecere Tao of Programming is available at http://ecere.com/tao.pdf"
-       install $(INSTALL_FLAGS) -m 644 doc/ecere.eCdoc $(DOCDIR)/ecere.eCdoc
-       install $(INSTALL_FLAGS) -m 644 doc/ecereCOM.eCdoc $(DOCDIR)/ecereCOM.eCdoc
-       install $(INSTALL_FLAGS) -m 644 doc/EDA.eCdoc $(DOCDIR)/EDA.eCdoc
+       $(call cpr,$(DOC)/*.econ,"$(DOCDIR)/")
        mkdir -p $(MANDIR)/man1
        cp -pRf share/man/man1/* $(MANDIR)/man1
        mkdir -p $(SAMPLESDIR)
@@ -810,6 +803,9 @@ endif
        $(call rm,"$(DOCDIR)/ecere.eCdoc")
        $(call rm,"$(DOCDIR)/ecereCOM.eCdoc")
        $(call rm,"$(DOCDIR)/EDA.eCdoc")
+       $(call rmr,"$(DOCDIR)/ecere")
+       $(call rmr,"$(DOCDIR)/ecereCOM")
+       $(call rmr,"$(DOCDIR)/EDA")
 ifdef LINUX_TARGET
        $(call rm,"$(DESTLIBDIR)/$(LP)ecere$(SO).0")
        $(call rm,"$(DESTLIBDIR)/$(LP)ecereCOM$(SO).0")
diff --git a/doc/EDA.eCdoc b/doc/EDA.eCdoc
deleted file mode 100644 (file)
index 435af1b..0000000
Binary files a/doc/EDA.eCdoc and /dev/null differ
diff --git a/doc/EDA/eda/MoveOptions.econ b/doc/EDA/eda/MoveOptions.econ
new file mode 100644 (file)
index 0000000..8488553
--- /dev/null
@@ -0,0 +1,47 @@
+{
+   name = "MoveOptions",
+   values = [
+      {
+         "first",
+         {
+            description = "Will match from the first row"
+         }
+      },
+      {
+         "here",
+         {
+            description = "Will match from where it is, but the very first entry, even before the current row"
+         }
+      },
+      {
+         "last",
+         {
+            description = "Will match from the last row or earlier"
+         }
+      },
+      {
+         "middle",
+         {
+            description = "Will match from the root of binary tree"
+         }
+      },
+      {
+         "next",
+         {
+            description = "Ignore the current row and only match the next row or later"
+         }
+      },
+      {
+         "nil",
+         {
+            description = "Will match the current row or later"
+         }
+      },
+      {
+         "previous",
+         {
+            description = "Ignore the current row and only match the previous row or earlier"
+         }
+      }
+   ]
+}
diff --git a/doc/EDA/eda/_global-defs.econ b/doc/EDA/eda/_global-defs.econ
new file mode 100644 (file)
index 0000000..97347e9
--- /dev/null
@@ -0,0 +1,3 @@
+{
+   name = "eda"
+}
diff --git a/doc/ecere.eCdoc b/doc/ecere.eCdoc
deleted file mode 100644 (file)
index 1bf43ef..0000000
Binary files a/doc/ecere.eCdoc and /dev/null differ
diff --git a/doc/ecere/_global-defs.econ b/doc/ecere/_global-defs.econ
new file mode 100644 (file)
index 0000000..66e89e7
--- /dev/null
@@ -0,0 +1,3 @@
+{
+   description = "The ecere module contains the 2D Graphics, 3D Graphics, Graphical User Interface, Network and extended System APIs."
+}
diff --git a/doc/ecere/ecere/_global-defs.econ b/doc/ecere/ecere/_global-defs.econ
new file mode 100644 (file)
index 0000000..f678f1e
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "ecere",
+   description = "The ecere namespace is for Ecere APIs in general."
+}
diff --git a/doc/ecere/ecere/com/Array.econ b/doc/ecere/ecere/com/Array.econ
new file mode 100644 (file)
index 0000000..4dd6016
--- /dev/null
@@ -0,0 +1,51 @@
+{
+   name = "Array",
+   description = "A storage container allowing for dynamic resizing of allocated space at run time. The data type of the data stored in this container as a typecast at the time of declaration.",
+   usage = "Initially declared in the declaration section of code. The resulting array of data is later accessed through the [] syntax: nameOfArray[arrayElement] = arbitraryValue.\n"
+      "\n"
+      "Be certain that when you instantiate an Array that you have a matching delete statement for it, otherwise potential memory leaks could become a problem.",
+   example = "void Test()\n"
+      "{\n"
+      "   Array<int> points { size = 10 };\n"
+      "   points[0] = { 10, 10 };\n"
+      "   points.size = 20;\n"
+      "   points[19] = { 5, 5 };\n"
+      "   delete points;\n"
+      "}",
+   remarks = "Similar to a C++ Vector. The Array class does come with inevitable overhead required for the purposes of dynamically allocating storage. So if it is not required to have dynamic allocation of storage, it would be recommended to use standard arrays: ie) int thisArray[10];",
+   also = "Container",
+   fields = [
+      {
+         "array",
+         {
+            description = "The actual allocated storage for the Array."
+         }
+      },
+      {
+         "count",
+         {
+            description = "The overall size of the Array."
+         }
+      },
+      {
+         "minAllocSize",
+         {
+            description = "The minimum amount of allocated storage for the Array before a reallocation would be necessary."
+         }
+      }
+   ],
+   properties = [
+      {
+         "minAllocSize",
+         {
+            description = "The property to enable manual changes to the minAllocSize."
+         }
+      },
+      {
+         "size",
+         {
+            description = "The property to enable manual changes to the size of the Array."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/com/_global-defs.econ b/doc/ecere/ecere/com/_global-defs.econ
new file mode 100644 (file)
index 0000000..460a815
--- /dev/null
@@ -0,0 +1,3 @@
+{
+   name = "com"
+}
diff --git a/doc/ecere/ecere/gfx/Bitmap.econ b/doc/ecere/ecere/gfx/Bitmap.econ
new file mode 100644 (file)
index 0000000..6137e3d
--- /dev/null
@@ -0,0 +1,50 @@
+{
+   name = "Bitmap",
+   description = "Provides access to an image added as a Resource to the Project.",
+   fields = [
+      {
+         "height",
+         {
+            description = "The Height in pixels of the image."
+         }
+      },
+      {
+         "pixelFormat",
+         {
+            description = "The format of the color encoding for the pixels of this image."
+         }
+      },
+      {
+         "size",
+         {
+            description = "The exact size of the image."
+         }
+      },
+      {
+         "sizeBytes",
+         {
+            description = "The size of the image in bytes."
+         }
+      },
+      {
+         "transparent",
+         {
+            description = "When true, the transparency layer of the image is recognized. When the image is later blitted to the screen the transparent regions of the image are not drawn."
+         }
+      },
+      {
+         "width",
+         {
+            description = "The Width in pixels of the image."
+         }
+      }
+   ],
+   methods = [
+      {
+         "Load",
+         {
+            description = "Load the bitmap file from the included resources."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/BitmapResource.econ b/doc/ecere/ecere/gfx/BitmapResource.econ
new file mode 100644 (file)
index 0000000..ced8505
--- /dev/null
@@ -0,0 +1,58 @@
+{
+   name = "BitmapResource",
+   description = "Handles the storage of a Bitmap, as well as many of the technical aspects, such as the DisplaySystem, loading and reloading the image as necessary, and changes in Resolution. BitmapResource associates the image to a particular window.",
+   usage = "Originally defined in the declaration section of code, typically within the class that will be using this resource.",
+   example = "class Form1 : Window<br>{<br>   text = \"Form1\";<br>   background = activeBorder;<br>   borderStyle = fixed;<br>   hasClose = true;<br>   size = {640, 480};<br>   BitmapResource image { \":image.png\", window = this };<br>   void OnRedraw(Surface surface)<br>   {<br>      surface.Blit( image.bitmap, 0, 0, 0, 0, 20, 20 );<br>   }<br>}",
+   remarks = "Very similar to the Bitmap class. In fact Bitmap could be said to be low level, while BitmapResource could be said to be a high level object.",
+   also = "Bitmap, BitmapFormat",
+   properties = [
+      {
+         "alphaBlend",
+         {
+            description = "When true, the alpha layer of the image is processed."
+         }
+      },
+      {
+         "bitmap",
+         {
+            description = "The actual bitmap to display. This is used when actually blitting the image to the screen."
+         }
+      },
+      {
+         "fileName",
+         {
+            description = "The filename of the bitmap to load. To specify that the file is to be loaded from the executables resources, precede the filename with a colon. ie: \":Tiles.png\""
+         }
+      },
+      {
+         "grayed",
+         {
+            description = "When true, the \"grayed\" filter is applied, so that the bitmap is stored similar to a grayed out control or button. Default is false."
+         }
+      },
+      {
+         "keepData",
+         {
+            description = "When true, the original data of the image is not changed in memory."
+         }
+      },
+      {
+         "monochrome",
+         {
+            description = "When true, the bitmap is stored with only two colors. Default is false."
+         }
+      },
+      {
+         "transparent",
+         {
+            description = "When true, any transparent background of the image is maintained and therefore when the image is rendered to the screen, it will have transparent areas. When false, the contents of the transparent areas may be surprising. Default is true."
+         }
+      },
+      {
+         "window",
+         {
+            description = "The Window class that this object belongs to."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/Color.econ b/doc/ecere/ecere/gfx/Color.econ
new file mode 100644 (file)
index 0000000..3880e07
--- /dev/null
@@ -0,0 +1,36 @@
+{
+   name = "Color",
+   description = "Contains the three RGB values that make up a pixel of color.",
+   usage = "Used in the declaration section of code.",
+   example = "Color red = { r = 255 }; // High intensity red.\n"
+      "Color yellow = { 0xFFFF00 }; // High intensity yellow. r = 0xFF(255), g = 0xFF(255), b = 0x00(0)",
+   also = "Color444, Color555, Color565, ColorAlpha, ColorCMYK, ColorHSV, ColorKey, ColorLab, ColorRGB, ColorRGBA, DefinedColor, PixelFormat, SystemColor",
+   fields = [
+      {
+         "b",
+         {
+            description = "The green component of the color. A value between 0 and 255(0x0 and 0xFF)."
+         }
+      },
+      {
+         "g",
+         {
+            description = "The green component of the color. A value between 0 and 255(0x0 and 0xFF)."
+         }
+      },
+      {
+         "r",
+         {
+            description = "The red component of the color. A value between 0 and 255(0x0 and 0xFF)."
+         }
+      }
+   ],
+   conversions = [
+      {
+         "ColorRGB",
+         {
+            description = "Enables the conversion from the Color type, to the ColorRGB type where each color element is stored as a floating point number."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/Display.econ b/doc/ecere/ecere/gfx/Display.econ
new file mode 100644 (file)
index 0000000..642ace2
--- /dev/null
@@ -0,0 +1,59 @@
+{
+   name = "Display",
+   methods = [
+      {
+         "Grab",
+         {
+            description = "The Grab method is used to copy pixel data from a given rectangular area in the current window display to a bitmap instance.",
+            usage = "Grab is typically called on the display property of a Window instance to grab the content of the window.",
+            example = "void GrabWindowToBitmapFile(Window window, char * filePath, char * format)\n"
+               "{\n"
+               "   Bitmap bitmap { };\n"
+               "   window.display.Grab(bitmap, 0, 0, window.size.w, window.size.h);\n"
+               "   bitmap.Save(filePath, format, null);\n"
+               "   delete bitmap;\n"
+               "}",
+            remarks = "When no memory has been allocated in the bitmap instance to contain the pixel data, Grab will automatically allocate memory according to the size of the rectangular area being copied and to the pixel format of the display. When memory has been pre-allocated, Grab will use the bitmap if it satisfies the required size and pixel format. If the pre-allocated bitmap is not sufficient, Grab will enlarge the allocated memory and change the pixel format appropriately.",
+            also = "Bitmap::Save",
+            parameters = [
+               {
+                  "bitmap",
+                  {
+                     description = "Bitmap instance where the pixel data will be copied.",
+                     position = 1
+                  }
+               },
+               {
+                  "h",
+                  {
+                     description = "Height of the rectangular area.",
+                     position = 5
+                  }
+               },
+               {
+                  "w",
+                  {
+                     description = "Width of the rectangular area.",
+                     position = 4
+                  }
+               },
+               {
+                  "x",
+                  {
+                     description = "Distance from the left of the display to the top-left corner of the rectangular area.",
+                     position = 2
+                  }
+               },
+               {
+                  "y",
+                  {
+                     description = "Distance from the top of the display to the top-left corner of the rectangular area.",
+                     position = 3
+                  }
+               }
+            ],
+            returnValue = "true if pixel data was copied, otherwise false."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/FontResource.econ b/doc/ecere/ecere/gfx/FontResource.econ
new file mode 100644 (file)
index 0000000..c9d447e
--- /dev/null
@@ -0,0 +1,42 @@
+{
+   name = "FontResource",
+   description = "Used to store a Font resource to display text with.",
+   properties = [
+      {
+         "bold",
+         {
+            description = "When true, the font is displayed as being darker than normal."
+         }
+      },
+      {
+         "faceName",
+         {
+            description = "The name of the font to load."
+         }
+      },
+      {
+         "font",
+         {
+
+         }
+      },
+      {
+         "italic",
+         {
+            description = "When true, the font is displayed with a slant."
+         }
+      },
+      {
+         "size",
+         {
+            description = "The size to display the font at."
+         }
+      },
+      {
+         "underline",
+         {
+            description = "When true, the font is displayed with underlining."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/Surface.econ b/doc/ecere/ecere/gfx/Surface.econ
new file mode 100644 (file)
index 0000000..a384ea1
--- /dev/null
@@ -0,0 +1,91 @@
+{
+   name = "Surface",
+   methods = [
+      {
+         "Blit",
+         {
+            description = "Draws an image from Bitmap to a destination layer.",
+            parameters = [
+               {
+                  "dx",
+                  {
+                     description = "The top left x coordinate of the destination.",
+                     position = 2
+                  }
+               },
+               {
+                  "dy",
+                  {
+                     description = "The top left y coordinate of the destination.",
+                     position = 3
+                  }
+               },
+               {
+                  "h",
+                  {
+                     description = "The height of the image to be written.",
+                     position = 7
+                  }
+               },
+               {
+                  "sx",
+                  {
+                     description = "The top left x coordinate from the source.",
+                     position = 4
+                  }
+               },
+               {
+                  "sy",
+                  {
+                     description = "The top left y coordinate from the source.",
+                     position = 5
+                  }
+               },
+               {
+                  "w",
+                  {
+                     description = "The width of the image to be written.",
+                     position = 6
+                  }
+               }
+            ]
+         }
+      },
+      {
+         "DrawLine",
+         {
+            description = "Draws a line from point(x1, y1) to point(x2, y2).",
+            parameters = [
+               {
+                  "x1",
+                  {
+                     description = "The X coordinate(on the Cartesian Plane) for the first point of the line.",
+                     position = 1
+                  }
+               },
+               {
+                  "x2",
+                  {
+                     description = "The X coordinate(on the Cartesian Plane) for the second point of the line.",
+                     position = 3
+                  }
+               },
+               {
+                  "y1",
+                  {
+                     description = "The Y coordinate(on the Cartesian Plane) for the first point of the line.",
+                     position = 2
+                  }
+               },
+               {
+                  "y2",
+                  {
+                     description = "The Y coordinate(on the Cartesian Plane) for the second point of the line.",
+                     position = 4
+                  }
+               }
+            ]
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gfx/_global-defs.econ b/doc/ecere/ecere/gfx/_global-defs.econ
new file mode 100644 (file)
index 0000000..813b4de
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "gfx",
+   description = "The ecere::gfx namespace is for the 2D Graphics API."
+}
diff --git a/doc/ecere/ecere/gfx/drivers/Font.econ b/doc/ecere/ecere/gfx/drivers/Font.econ
new file mode 100644 (file)
index 0000000..55c32b8
--- /dev/null
@@ -0,0 +1,5 @@
+{
+   name = "Font",
+   description = "Opaque data type to hold a loaded font which can be selected on a Surface.",
+   usage = "Fonts can be loaded with Display::LoadFont and unloaded with Display::UnloadFont. They can be set on a surface through the Surface::font property. FontResource provides a higher level object which can be associated with a Window for automated resource management."
+}
diff --git a/doc/ecere/ecere/gfx/drivers/_global-defs.econ b/doc/ecere/ecere/gfx/drivers/_global-defs.econ
new file mode 100644 (file)
index 0000000..facee8e
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "drivers",
+   description = "The ecere::gfx::drivers namespase if for what?"
+}
diff --git a/doc/ecere/ecere/gfx3D/_global-defs.econ b/doc/ecere/ecere/gfx3D/_global-defs.econ
new file mode 100644 (file)
index 0000000..3c1f932
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "gfx3D",
+   description = "The ecere::gfx3D namespace is for the 3D Graphics API."
+}
diff --git a/doc/ecere/ecere/gui/Anchor.econ b/doc/ecere/ecere/gui/Anchor.econ
new file mode 100644 (file)
index 0000000..659d490
--- /dev/null
@@ -0,0 +1,48 @@
+{
+   name = "Anchor",
+   description = "Defines the position of a Window/Control based on its top, left, bottom, right, middle horizontal, and middle vertical points relative to the parents client area, rather than just the top left corner.",
+   usage = "Specified as a property of a GUI element. Each individual property of the Anchor class can be set with an absolute value in pixels, or a relative value in percentages.",
+   example = "Window { anchor = { right = 16, bottom = 32 } };// This sets the window to appear with its right side being 16 pixels from the right side of the Parents client area, and 32 pixels from the bottom.\n"
+      "Window { anchor = { horz = 100, vert = 100 } };// This sets the window to appear with its center being 100 pixels from the left of the parents client area, and 100 pixels from the top.\n"
+      "Window { anchor = { horz = 0.5, vert = 0.5 } }; // This sets the window to appear with it's center being at 50% of the parents client area width, and 50% of the client area height.",
+   remarks = "This is particularly useful if you want to ensure that a particular control remains a specific distance from any one side of its parent.",
+   also = "Window",
+   fields = [
+      {
+         "bottom",
+         {
+            description = "The bottom most side of the Window/Control in relation to its parents client area."
+         }
+      },
+      {
+         "horz",
+         {
+            description = "The middle point of the Window/Control on the x-axis, in relation to its parents client area."
+         }
+      },
+      {
+         "left",
+         {
+            description = "The left most side of the Window/Control in relation to its parents client area."
+         }
+      },
+      {
+         "right",
+         {
+            description = "The right most side of the Window/Control in relation to its parents client area."
+         }
+      },
+      {
+         "top",
+         {
+            description = "The top most side of the Window/Control in relation to its parents client area."
+         }
+      },
+      {
+         "vert",
+         {
+            description = "The middle point of the Window/Control on the y-axis, in relation to its parents client area."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/BorderStyle.econ b/doc/ecere/ecere/gui/BorderStyle.econ
new file mode 100644 (file)
index 0000000..181dd83
--- /dev/null
@@ -0,0 +1,75 @@
+{
+   name = "BorderStyle",
+   description = "The type of Window frame your Window has.",
+   usage = "BorderStyle is generally set within the instantiation of a window or control.",
+   example = "class MyForm : Window { text = \"MyForm\", borderStyle = sizable };",
+   also = "Window",
+   values = [
+      {
+         "bevel",
+         {
+            description = "Non-Sizable. Looks like it is raised out from the screen; like a button that is not pressed."
+         }
+      },
+      {
+         "contour",
+         {
+            description = "Non-Sizable. A single black line tracing the rectangle of the Window. No Title Bar."
+         }
+      },
+      {
+         "deep",
+         {
+            description = "Non-Sizable. Looks like it sinks into the screen; like a button that's been pressed."
+         }
+      },
+      {
+         "deepContour",
+         {
+            description = "Non-Sizable. Looks like it sinks into the screen; like a button that is pressed. A single black line traces the rectangle of the Window. No Title Bar."
+         }
+      },
+      {
+         "fixed",
+         {
+            description = "Non-Sizable. Has Title Bar."
+         }
+      },
+      {
+         "fixedBevel",
+         {
+            description = "Non-Sizable. Has Title Bar. The area not included with the Title Bar looks like it is raised out of the screen; like a button that is not pressed."
+         }
+      },
+      {
+         "fixedDeep",
+         {
+            description = "Non-Sizable. Has Title Bar. The area not included with the Title Bar looks like it sinks into the screen; like a button that is pressed."
+         }
+      },
+      {
+         "none",
+         {
+            description = "Non-Sizable. No Border. No Title Bar."
+         }
+      },
+      {
+         "sizable",
+         {
+            description = "The border can be clicked and dragged to resize it. Has Title Bar."
+         }
+      },
+      {
+         "sizableBevel",
+         {
+            description = "The border can be clicked and dragged to resize it. Has Title Bar. The area not included with the Title Bar looks like it is raised out from the screen; like a button that is not pressed."
+         }
+      },
+      {
+         "sizableDeep",
+         {
+            description = "The border can be clicked and dragged to resize it. Has Title Bar. The area not included with the Title Bar looks like it sinks into the screen; like a button that's been pressed."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/Key.econ b/doc/ecere/ecere/gui/Key.econ
new file mode 100644 (file)
index 0000000..edefa5e
--- /dev/null
@@ -0,0 +1,31 @@
+{
+   name = "Key",
+   description = "Contains the key(or mousebutton) pressed by the user.",
+   also = "KeyCode, PredefinedKey",
+   fields = [
+      {
+         "alt",
+         {
+            description = "true when the Alt key is pressed."
+         }
+      },
+      {
+         "code",
+         {
+            description = "The numerical representation of the key which is pressed."
+         }
+      },
+      {
+         "ctrl",
+         {
+            description = "true when the Ctrl key is pressed."
+         }
+      },
+      {
+         "shift",
+         {
+            description = "true when the Shift key is pressed."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/KeyCode.econ b/doc/ecere/ecere/gui/KeyCode.econ
new file mode 100644 (file)
index 0000000..a64aff4
--- /dev/null
@@ -0,0 +1,799 @@
+{
+   name = "KeyCode",
+   description = "The numerical representation of a key that is being pressed.",
+   also = "PredefinedKey",
+   values = [
+      {
+         "a",
+         {
+            description = "The letter a."
+         }
+      },
+      {
+         "alt",
+         {
+            description = "The Alt key, right or left."
+         }
+      },
+      {
+         "ampersand",
+         {
+            description = "The & symbol, must be checked with shift status."
+         }
+      },
+      {
+         "b",
+         {
+            description = "The letter b."
+         }
+      },
+      {
+         "backQuote",
+         {
+            description = "The ` symbol."
+         }
+      },
+      {
+         "backSlash",
+         {
+            description = "The \\ symbol."
+         }
+      },
+      {
+         "backSpace",
+         {
+            description = "The Backspace key."
+         }
+      },
+      {
+         "bang",
+         {
+            description = "The ! symbol, must be checked with shift status."
+         }
+      },
+      {
+         "c",
+         {
+            description = "The letter c."
+         }
+      },
+      {
+         "capsLock",
+         {
+            description = "The Caps Lock key."
+         }
+      },
+      {
+         "circumflex",
+         {
+            description = "The ^ symbol, must be checked with shift status."
+         }
+      },
+      {
+         "colon",
+         {
+            description = "The : symbol, must be checked with shift status."
+         }
+      },
+      {
+         "comma",
+         {
+            description = "The , symbol."
+         }
+      },
+      {
+         "commercial",
+         {
+            description = "The @ symbol, must be checked with shift status."
+         }
+      },
+      {
+         "control",
+         {
+            description = "The Ctrl key, right or left."
+         }
+      },
+      {
+         "d",
+         {
+            description = "The letter d."
+         }
+      },
+      {
+         "del",
+         {
+            description = "The Delete or Del key."
+         }
+      },
+      {
+         "dollar",
+         {
+            description = "The $ symbol, must be checked with shift status."
+         }
+      },
+      {
+         "doubleQuote",
+         {
+            description = "The \" symbol, must be checked with shift status."
+         }
+      },
+      {
+         "down",
+         {
+            description = "The Down Arrow."
+         }
+      },
+      {
+         "e",
+         {
+            description = "The letter e."
+         }
+      },
+      {
+         "end",
+         {
+            description = "The End key."
+         }
+      },
+      {
+         "enter",
+         {
+            description = "The Enter, or Return key."
+         }
+      },
+      {
+         "equal",
+         {
+            description = "The = symbol."
+         }
+      },
+      {
+         "escape",
+         {
+            description = "The Esc key."
+         }
+      },
+      {
+         "f",
+         {
+            description = "The letter f."
+         }
+      },
+      {
+         "f1",
+         {
+            description = "The first Function key 'F1'."
+         }
+      },
+      {
+         "f10",
+         {
+            description = "The tenth Function key 'F10'."
+         }
+      },
+      {
+         "f11",
+         {
+            description = "The eleventh function key 'F11'."
+         }
+      },
+      {
+         "f12",
+         {
+            description = "The twelfth function key 'F12'."
+         }
+      },
+      {
+         "f2",
+         {
+            description = "The second Function key 'F2'."
+         }
+      },
+      {
+         "f3",
+         {
+            description = "The third Function key 'F3'."
+         }
+      },
+      {
+         "f4",
+         {
+            description = "The fourth Function key 'F4'."
+         }
+      },
+      {
+         "f5",
+         {
+            description = "The fifth Function key 'F5'."
+         }
+      },
+      {
+         "f6",
+         {
+            description = "The sixth Function key 'F6'."
+         }
+      },
+      {
+         "f7",
+         {
+            description = "The seventh Function key 'F7'."
+         }
+      },
+      {
+         "f8",
+         {
+            description = "The eighth Function key 'F8'."
+         }
+      },
+      {
+         "f9",
+         {
+            description = "The ninth Function key 'F9'."
+         }
+      },
+      {
+         "g",
+         {
+            description = "The letter g."
+         }
+      },
+      {
+         "greaterThan",
+         {
+            description = "The > symbol, must be checked with shift status."
+         }
+      },
+      {
+         "h",
+         {
+            description = "The letter h."
+         }
+      },
+      {
+         "home",
+         {
+            description = "The Home key."
+         }
+      },
+      {
+         "i",
+         {
+            description = "The letter i."
+         }
+      },
+      {
+         "insert",
+         {
+            description = "The Insert or Ins key."
+         }
+      },
+      {
+         "j",
+         {
+            description = "The letter j."
+         }
+      },
+      {
+         "k",
+         {
+            description = "The letter k."
+         }
+      },
+      {
+         "k0",
+         {
+            description = "The number 0."
+         }
+      },
+      {
+         "k1",
+         {
+            description = "The number 1."
+         }
+      },
+      {
+         "k2",
+         {
+            description = "The number 2."
+         }
+      },
+      {
+         "k3",
+         {
+            description = "The number 3."
+         }
+      },
+      {
+         "k4",
+         {
+            description = "The number 4."
+         }
+      },
+      {
+         "k5",
+         {
+            description = "The number 5."
+         }
+      },
+      {
+         "k6",
+         {
+            description = "The number 6."
+         }
+      },
+      {
+         "k7",
+         {
+            description = "The number 7."
+         }
+      },
+      {
+         "k8",
+         {
+            description = "The number 8."
+         }
+      },
+      {
+         "k9",
+         {
+            description = "The number 9."
+         }
+      },
+      {
+         "keyPad0",
+         {
+            description = "The number 0, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad1",
+         {
+            description = "The number 1, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad2",
+         {
+            description = "The number 2, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad3",
+         {
+            description = "The number 3, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad4",
+         {
+            description = "The number 4, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad5",
+         {
+            description = "The number 5, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad6",
+         {
+            description = "The number 6, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad7",
+         {
+            description = "The number 7, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad8",
+         {
+            description = "The number 8, on the numeric keypad."
+         }
+      },
+      {
+         "keyPad9",
+         {
+            description = "The number 9, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadDelete",
+         {
+            description = "The Del key, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadDown",
+         {
+            description = "The down arrow, which is the number 2, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadEnd",
+         {
+            description = "The End key, which is the number 1, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadEnter",
+         {
+            description = "The Enter, or Return key, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadHome",
+         {
+            description = "The Home key, which is the number 7, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadInsert",
+         {
+            description = "The Insert key, which is the number 0, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadLeft",
+         {
+            description = "The left arrow, which is the number 4, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadMinus",
+         {
+            description = "The - symbol, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadPageDown",
+         {
+            description = "The Page Down key, which is the number 3, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadPageUp",
+         {
+            description = "The Page Up key, which is the number 9, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadPlus",
+         {
+            description = "The + symbol, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadRight",
+         {
+            description = "The right arrow, which is the number 6, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadSlash",
+         {
+            description = "The / symbol, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadStar",
+         {
+            description = "The * symbol, on the numeric keypad."
+         }
+      },
+      {
+         "keyPadUp",
+         {
+            description = "The up arrow, which is the number 8, on the numeric keypad."
+         }
+      },
+      {
+         "l",
+         {
+            description = "The letter l."
+         }
+      },
+      {
+         "left",
+         {
+            description = "The Left Arrow key."
+         }
+      },
+      {
+         "leftAlt",
+         {
+            description = "The Alt key on the left of the keyboard."
+         }
+      },
+      {
+         "leftBracket",
+         {
+            description = "The [ symbol. If shift status is checked this represents the { symbol."
+         }
+      },
+      {
+         "leftControl",
+         {
+            description = "The Ctrl key on the left side of the keyboard."
+         }
+      },
+      {
+         "leftParanthesis",
+         {
+            description = "The ( symbol, must be checked with shift status."
+         }
+      },
+      {
+         "leftShift",
+         {
+            description = "The Shift key on the left of the keyboard."
+         }
+      },
+      {
+         "m",
+         {
+            description = "The letter m."
+         }
+      },
+      {
+         "minus",
+         {
+            description = "The - symbol."
+         }
+      },
+      {
+         "n",
+         {
+            description = "The letter n."
+         }
+      },
+      {
+         "numLock",
+         {
+            description = "The NumLock key."
+         }
+      },
+      {
+         "o",
+         {
+            description = "The letter o."
+         }
+      },
+      {
+         "p",
+         {
+            description = "The letter p."
+         }
+      },
+      {
+         "pageDown",
+         {
+            description = "The Page Down or PgDn key."
+         }
+      },
+      {
+         "pageUp",
+         {
+            description = "The Page Up or PgUp key."
+         }
+      },
+      {
+         "pauseBreak",
+         {
+            description = "The Pause key. Also the Break key, but need to check the status of Ctrl."
+         }
+      },
+      {
+         "percent",
+         {
+            description = "The % symbol, must be checked with shift status."
+         }
+      },
+      {
+         "period",
+         {
+            description = "The . symbol."
+         }
+      },
+      {
+         "pipe",
+         {
+            description = "The | symbol, must be checked with shift status."
+         }
+      },
+      {
+         "plus",
+         {
+            description = "The + symbol, must be checked with shift status."
+         }
+      },
+      {
+         "pound",
+         {
+            description = "The # symbol, must be checked with shift status."
+         }
+      },
+      {
+         "printScreen",
+         {
+            description = "The Print Screen or PrtSc key."
+         }
+      },
+      {
+         "q",
+         {
+            description = "The letter q."
+         }
+      },
+      {
+         "questionMark",
+         {
+            description = "The ? symbol, must be checked with shift status."
+         }
+      },
+      {
+         "quote",
+         {
+            description = "The ' symbol."
+         }
+      },
+      {
+         "r",
+         {
+            description = "The letter r."
+         }
+      },
+      {
+         "right",
+         {
+            description = "The Right Arrow key."
+         }
+      },
+      {
+         "rightAlt",
+         {
+            description = "The Alt key on the right of the keyboard."
+         }
+      },
+      {
+         "rightBracket",
+         {
+            description = "The ] symbol. If shift status is checked this represents the } symbol."
+         }
+      },
+      {
+         "rightControl",
+         {
+            description = "The Ctrl key on the right of the keyboard."
+         }
+      },
+      {
+         "rightParanthesis",
+         {
+            description = "The ) symbol, must be checked with shift status."
+         }
+      },
+      {
+         "rightShift",
+         {
+            description = "The Shift key on the right of the keyboard."
+         }
+      },
+      {
+         "s",
+         {
+            description = "The letter s."
+         }
+      },
+      {
+         "scrollLock",
+         {
+            description = "The ScrollLock key."
+         }
+      },
+      {
+         "semicolon",
+         {
+            description = "The ; symbol."
+         }
+      },
+      {
+         "shift",
+         {
+            description = "The Shift key, right or left."
+         }
+      },
+      {
+         "slash",
+         {
+            description = "The / symbol."
+         }
+      },
+      {
+         "smallerThan",
+         {
+            description = "The < symbol, must be checked with shift status."
+         }
+      },
+      {
+         "space",
+         {
+            description = "The spacebar."
+         }
+      },
+      {
+         "star",
+         {
+            description = "The * symbol, must be checked with shift status."
+         }
+      },
+      {
+         "t",
+         {
+            description = "The letter t."
+         }
+      },
+      {
+         "tab",
+         {
+            description = "The Tab key."
+         }
+      },
+      {
+         "tilde",
+         {
+            description = "The ~ symbol, must be checked with shift status."
+         }
+      },
+      {
+         "u",
+         {
+            description = "The letter u."
+         }
+      },
+      {
+         "underscore",
+         {
+            description = "The _ symbol, must be checked with shift status."
+         }
+      },
+      {
+         "up",
+         {
+            description = "The Up Arrow key."
+         }
+      },
+      {
+         "v",
+         {
+            description = "The letter v."
+         }
+      },
+      {
+         "w",
+         {
+            description = "The letter w."
+         }
+      },
+      {
+         "x",
+         {
+            description = "The letter x."
+         }
+      },
+      {
+         "y",
+         {
+            description = "The letter y."
+         }
+      },
+      {
+         "z",
+         {
+            description = "The letter z."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/Percentage.econ b/doc/ecere/ecere/gui/Percentage.econ
new file mode 100644 (file)
index 0000000..5d70650
--- /dev/null
@@ -0,0 +1,7 @@
+{
+   name = "Percentage",
+   description = "A real number between the value of 0 and 1 inclusive. ",
+   usage = "Generally assigned to a variable in which a value between 0% and 100% is desired.",
+   example = "Window { opacity = 0.5, alphaBlend = true }; // Sets the opacity of a window to 50 percent transparency.",
+   also = "Window::opacity"
+}
diff --git a/doc/ecere/ecere/gui/PredefinedKey.econ b/doc/ecere/ecere/gui/PredefinedKey.econ
new file mode 100644 (file)
index 0000000..abce995
--- /dev/null
@@ -0,0 +1,787 @@
+{
+   name = "PredefinedKey",
+   description = "A collection of frequently used key combinations.",
+   also = "Key, KeyCode.",
+   values = [
+      {
+         "alt0",
+         {
+            description = "The Key combination Alt + 0."
+         }
+      },
+      {
+         "alt1",
+         {
+            description = "The Key combination Alt + 1."
+         }
+      },
+      {
+         "alt2",
+         {
+            description = "The Key combination Alt + 2."
+         }
+      },
+      {
+         "alt3",
+         {
+            description = "The Key combination Alt + 3."
+         }
+      },
+      {
+         "alt4",
+         {
+            description = "The Key combination Alt + 4."
+         }
+      },
+      {
+         "alt5",
+         {
+            description = "The Key combination Alt + 5."
+         }
+      },
+      {
+         "alt6",
+         {
+            description = "The Key combination Alt + 6."
+         }
+      },
+      {
+         "alt7",
+         {
+            description = "The Key combination Alt + 7."
+         }
+      },
+      {
+         "alt8",
+         {
+            description = "The Key combination Alt + 8."
+         }
+      },
+      {
+         "alt9",
+         {
+            description = "The Key combination Alt + 9."
+         }
+      },
+      {
+         "altA",
+         {
+            description = "The Key combination Alt + a."
+         }
+      },
+      {
+         "altB",
+         {
+            description = "The Key combination Alt + b."
+         }
+      },
+      {
+         "altC",
+         {
+            description = "The Key combination Alt + c."
+         }
+      },
+      {
+         "altD",
+         {
+            description = "The Key combination Alt + d."
+         }
+      },
+      {
+         "altDown",
+         {
+            description = "The Key combination Alt + Down Arrow."
+         }
+      },
+      {
+         "altE",
+         {
+            description = "The Key combination Alt + e."
+         }
+      },
+      {
+         "altEnd",
+         {
+            description = "The Key combination Alt + End."
+         }
+      },
+      {
+         "altEnter",
+         {
+            description = "The Key combination Alt + Enter."
+         }
+      },
+      {
+         "altF",
+         {
+            description = "The Key combination Alt + f."
+         }
+      },
+      {
+         "altF1",
+         {
+            description = "The Key combination Alt + F1."
+         }
+      },
+      {
+         "altF10",
+         {
+            description = "The Key combination Alt + F10."
+         }
+      },
+      {
+         "altF11",
+         {
+            description = "The Key combination Alt + F11."
+         }
+      },
+      {
+         "altF12",
+         {
+            description = "The Key combination Alt + F12."
+         }
+      },
+      {
+         "altF2",
+         {
+            description = "The Key combination Alt + F2."
+         }
+      },
+      {
+         "altF3",
+         {
+            description = "The Key combination Alt + F3."
+         }
+      },
+      {
+         "altF4",
+         {
+            description = "The Key combination Alt + F4."
+         }
+      },
+      {
+         "altF5",
+         {
+            description = "The Key combination Alt + F5."
+         }
+      },
+      {
+         "altF6",
+         {
+            description = "The Key combination Alt + F6."
+         }
+      },
+      {
+         "altF7",
+         {
+            description = "The Key combination Alt + F7."
+         }
+      },
+      {
+         "altF8",
+         {
+            description = "The Key combination Alt + F8."
+         }
+      },
+      {
+         "altF9",
+         {
+            description = "The Key combination Alt + F9."
+         }
+      },
+      {
+         "altG",
+         {
+            description = "The Key combination Alt + g."
+         }
+      },
+      {
+         "altH",
+         {
+            description = "The Key combination Alt + h."
+         }
+      },
+      {
+         "altHome",
+         {
+            description = "The Key combination Alt + Home."
+         }
+      },
+      {
+         "altI",
+         {
+            description = "The Key combination Alt + i."
+         }
+      },
+      {
+         "altJ",
+         {
+            description = "The Key combination Alt + j."
+         }
+      },
+      {
+         "altK",
+         {
+            description = "The Key combination Alt + k."
+         }
+      },
+      {
+         "altKeyPadEnter",
+         {
+            description = "The Key combination Alt + Enter, on the numeric key pad."
+         }
+      },
+      {
+         "altL",
+         {
+            description = "The Key combination Alt + l."
+         }
+      },
+      {
+         "altLeft",
+         {
+            description = "The Key combination Alt + Left Arrow."
+         }
+      },
+      {
+         "altM",
+         {
+            description = "The Key combination Alt + m."
+         }
+      },
+      {
+         "altMinus",
+         {
+            description = "The Key combination Alt + Minus symbol(-)."
+         }
+      },
+      {
+         "altN",
+         {
+            description = "The Key combination Alt + n."
+         }
+      },
+      {
+         "altO",
+         {
+            description = "The Key combination Alt + o."
+         }
+      },
+      {
+         "altP",
+         {
+            description = "The Key combination Alt + p."
+         }
+      },
+      {
+         "altQ",
+         {
+            description = "The Key combination Alt + q."
+         }
+      },
+      {
+         "altR",
+         {
+            description = "The Key combination Alt + r."
+         }
+      },
+      {
+         "altRight",
+         {
+            description = "The Key combination Alt + Right Arrow."
+         }
+      },
+      {
+         "altS",
+         {
+            description = "The Key combination Alt + s."
+         }
+      },
+      {
+         "altSpace",
+         {
+            description = "The Key combination Alt + Spacebar."
+         }
+      },
+      {
+         "altT",
+         {
+            description = "The Key combination Alt + t."
+         }
+      },
+      {
+         "altU",
+         {
+            description = "The Key combination Alt + u."
+         }
+      },
+      {
+         "altUp",
+         {
+            description = "The Key combination Alt + Up Arrow."
+         }
+      },
+      {
+         "altV",
+         {
+            description = "The Key combination Alt + v."
+         }
+      },
+      {
+         "altW",
+         {
+            description = "The Key combination Alt + w."
+         }
+      },
+      {
+         "altX",
+         {
+            description = "The Key combination Alt + x."
+         }
+      },
+      {
+         "altY",
+         {
+            description = "The Key combination Alt + y."
+         }
+      },
+      {
+         "altZ",
+         {
+            description = "The Key combination Alt + z."
+         }
+      },
+      {
+         "ctrl0",
+         {
+            description = "The Key combination Ctrl + 0."
+         }
+      },
+      {
+         "ctrl1",
+         {
+            description = "The Key combination Ctrl + 1."
+         }
+      },
+      {
+         "ctrl2",
+         {
+            description = "The Key combination Ctrl + 2."
+         }
+      },
+      {
+         "ctrl3",
+         {
+            description = "The Key combination Ctrl + 3."
+         }
+      },
+      {
+         "ctrl4",
+         {
+            description = "The Key combination Ctrl + 4."
+         }
+      },
+      {
+         "ctrl5",
+         {
+            description = "The Key combination Ctrl + 5."
+         }
+      },
+      {
+         "ctrl6",
+         {
+            description = "The Key combination Ctrl + 6."
+         }
+      },
+      {
+         "ctrl7",
+         {
+            description = "The Key combination Ctrl + 7."
+         }
+      },
+      {
+         "ctrl8",
+         {
+            description = "The Key combination Ctrl + 8."
+         }
+      },
+      {
+         "ctrl9",
+         {
+            description = "The Key combination Ctrl + 9."
+         }
+      },
+      {
+         "ctrlA",
+         {
+            description = "The Key combination Ctrl + a."
+         }
+      },
+      {
+         "ctrlB",
+         {
+            description = "The Key combination Ctrl + b."
+         }
+      },
+      {
+         "ctrlC",
+         {
+            description = "The Key combination Ctrl + c."
+         }
+      },
+      {
+         "ctrlD",
+         {
+            description = "The Key combination Ctrl + d."
+         }
+      },
+      {
+         "ctrlDown",
+         {
+            description = "The Key combination Ctrl + Down Arrow."
+         }
+      },
+      {
+         "ctrlE",
+         {
+            description = "The Key combination Ctrl + e."
+         }
+      },
+      {
+         "ctrlEnd",
+         {
+            description = "The Key combination Ctrl + End."
+         }
+      },
+      {
+         "ctrlEnter",
+         {
+            description = "The Key combination Ctrl + Enter."
+         }
+      },
+      {
+         "ctrlF",
+         {
+            description = "The Key combination Ctrl + f."
+         }
+      },
+      {
+         "ctrlF1",
+         {
+            description = "The Key combination Ctrl + F1."
+         }
+      },
+      {
+         "ctrlF10",
+         {
+            description = "The Key combination Ctrl + F10."
+         }
+      },
+      {
+         "ctrlF11",
+         {
+            description = "The Key combination Ctrl + F11."
+         }
+      },
+      {
+         "ctrlF12",
+         {
+            description = "The Key combination Ctrl + F12."
+         }
+      },
+      {
+         "ctrlF2",
+         {
+            description = "The Key combination Ctrl + F2."
+         }
+      },
+      {
+         "ctrlF3",
+         {
+            description = "The Key combination Ctrl + F3."
+         }
+      },
+      {
+         "ctrlF4",
+         {
+            description = "The Key combination Ctrl + F4."
+         }
+      },
+      {
+         "ctrlF5",
+         {
+            description = "The Key combination Ctrl + F5."
+         }
+      },
+      {
+         "ctrlF6",
+         {
+            description = "The Key combination Ctrl + F6."
+         }
+      },
+      {
+         "ctrlF7",
+         {
+            description = "The Key combination Ctrl + F7."
+         }
+      },
+      {
+         "ctrlF8",
+         {
+            description = "The Key combination Ctrl + F8."
+         }
+      },
+      {
+         "ctrlF9",
+         {
+            description = "The Key combination Ctrl + F9."
+         }
+      },
+      {
+         "ctrlG",
+         {
+            description = "The Key combination Ctrl + g."
+         }
+      },
+      {
+         "ctrlH",
+         {
+            description = "The Key combination Ctrl + h."
+         }
+      },
+      {
+         "ctrlHome",
+         {
+            description = "The Key combination Ctrl + Home."
+         }
+      },
+      {
+         "ctrlI",
+         {
+            description = "The Key combination Ctrl + i."
+         }
+      },
+      {
+         "ctrlInsert",
+         {
+            description = "The Key combination Ctrl + Insert."
+         }
+      },
+      {
+         "ctrlJ",
+         {
+            description = "The Key combination Ctrl + j."
+         }
+      },
+      {
+         "ctrlK",
+         {
+            description = "The Key combination Ctrl + k."
+         }
+      },
+      {
+         "ctrlL",
+         {
+            description = "The Key combination Ctrl + l."
+         }
+      },
+      {
+         "ctrlLeft",
+         {
+            description = "The Key combination Ctrl + Left Arrow."
+         }
+      },
+      {
+         "ctrlM",
+         {
+            description = "The Key combination Ctrl + m."
+         }
+      },
+      {
+         "ctrlN",
+         {
+            description = "The Key combination Ctrl + n."
+         }
+      },
+      {
+         "ctrlO",
+         {
+            description = "The Key combination Ctrl + o."
+         }
+      },
+      {
+         "ctrlP",
+         {
+            description = "The Key combination Ctrl + p."
+         }
+      },
+      {
+         "ctrlPageDown",
+         {
+            description = "The Key combination Ctrl + Page Down."
+         }
+      },
+      {
+         "ctrlPageUp",
+         {
+            description = "The Key combination Ctrl + Page Up."
+         }
+      },
+      {
+         "ctrlQ",
+         {
+            description = "The Key combination Ctrl + q."
+         }
+      },
+      {
+         "ctrlR",
+         {
+            description = "The Key combination Ctrl + r."
+         }
+      },
+      {
+         "ctrlRight",
+         {
+            description = "The Key combination Ctrl + Right Arrow."
+         }
+      },
+      {
+         "ctrlS",
+         {
+            description = "The Key combination Ctrl + s."
+         }
+      },
+      {
+         "ctrlT",
+         {
+            description = "The Key combination Ctrl + t."
+         }
+      },
+      {
+         "ctrlU",
+         {
+            description = "The Key combination Ctrl + u."
+         }
+      },
+      {
+         "ctrlUp",
+         {
+            description = "The Key combination Ctrl + Up Arrow."
+         }
+      },
+      {
+         "ctrlV",
+         {
+            description = "The Key combination Ctrl + v."
+         }
+      },
+      {
+         "ctrlW",
+         {
+            description = "The Key combination Ctrl + w."
+         }
+      },
+      {
+         "ctrlX",
+         {
+            description = "The Key combination Ctrl + x."
+         }
+      },
+      {
+         "ctrlY",
+         {
+            description = "The Key combination Ctrl + y."
+         }
+      },
+      {
+         "ctrlZ",
+         {
+            description = "The Key combination Ctrl + z."
+         }
+      },
+      {
+         "shiftF1",
+         {
+            description = "The Key combination Shift + F1."
+         }
+      },
+      {
+         "shiftF10",
+         {
+            description = "The Key combination Shift + F10."
+         }
+      },
+      {
+         "shiftF11",
+         {
+            description = "The Key combination Shift + F11."
+         }
+      },
+      {
+         "shiftF12",
+         {
+            description = "The Key combination Shift + F12."
+         }
+      },
+      {
+         "shiftF2",
+         {
+            description = "The Key combination Shift + F2."
+         }
+      },
+      {
+         "shiftF3",
+         {
+            description = "The Key combination Shift + F3."
+         }
+      },
+      {
+         "shiftF4",
+         {
+            description = "The Key combination Shift + F4."
+         }
+      },
+      {
+         "shiftF5",
+         {
+            description = "The Key combination Shift + F5."
+         }
+      },
+      {
+         "shiftF6",
+         {
+            description = "The Key combination Shift + F6."
+         }
+      },
+      {
+         "shiftF7",
+         {
+            description = "The Key combination Shift + F7."
+         }
+      },
+      {
+         "shiftF8",
+         {
+            description = "The Key combination Shift + F8."
+         }
+      },
+      {
+         "shiftF9",
+         {
+            description = "The Key combination Shift + F9."
+         }
+      },
+      {
+         "shiftInsert",
+         {
+            description = "The Key combination Shift + Insert."
+         }
+      },
+      {
+         "shiftTab",
+         {
+            description = "The Key combination Shift + Tab."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/Timer.econ b/doc/ecere/ecere/gui/Timer.econ
new file mode 100644 (file)
index 0000000..e9526c8
--- /dev/null
@@ -0,0 +1,60 @@
+{
+   name = "Timer",
+   description = "A Timer object useful for performing actions based on a particular time delay.",
+   usage = "A Timer object is defined in the declaration section of code, with it's functionality being declared at initialization time.",
+   example = "class Form1 : Window\n"
+      "{\n"
+      "   Timer timer\n"
+      "   {\n"
+      "      this;         // the Timer object belongs to the Form1 class.\n"
+      "      delay = 0.01; // the time to wait is 0.01 seconds.\n"
+      "      bool DelayExpired() // Override the virtual function to tell the Timer what to do.\n"
+      "      {\n"
+      "         Update(null); // redraw the entire window.\n"
+      "         return true; // tell the program that everything went ok.\n"
+      "      }\n"
+      "   }; // terminate the initialization of timer.\n"
+      "}",
+   remarks = "This is an excellent, simple way to refresh the current window at particular intervals without requiring user input.",
+   also = "GetTime(), Time",
+   properties = [
+      {
+         "delay",
+         {
+            description = "The number of seconds until the delay has expired."
+         }
+      },
+      {
+         "started",
+         {
+            description = "When true, the Timer is already active and counting."
+         }
+      },
+      {
+         "userData",
+         {
+            description = "The Object to link the Timer to."
+         }
+      }
+   ],
+   methods = [
+      {
+         "DelayExpired",
+         {
+            description = "Code within this Virtual Method will be executed when the number of seconds specified in the delay member has elapsed."
+         }
+      },
+      {
+         "Start",
+         {
+            description = "Start the Timer so that it is actively counting."
+         }
+      },
+      {
+         "Stop",
+         {
+            description = "Stop the Timer so that it is no longer counting."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/Window.econ b/doc/ecere/ecere/gui/Window.econ
new file mode 100644 (file)
index 0000000..0c173ba
--- /dev/null
@@ -0,0 +1,356 @@
+{
+   name = "Window",
+   description = "The base class for any Window, and many Controls aswell. Contains many methods and properties that are inherited and used by these other Windows and Classes.",
+   fields = [
+      {
+         "sbh",
+         {
+            description = "This is the instance of the horizontal ScrollBar. Generally only used internally by eC."
+         }
+      },
+      {
+         "sbv",
+         {
+            description = "This is the instance of the vertical ScrollBar. Generally only used internally by eC."
+         }
+      }
+   ],
+   properties = [
+      {
+         "alphaBlend",
+         {
+            description = "When true, applies Alpha Blending to the background of the Window. Used for transparency effects."
+         }
+      },
+      {
+         "anchor",
+         {
+            description = "Very similar to position, only with more versatility. Anchor allows you to set the top, left, bottom, and right settings relative to the top, left, bottom and right of the Window/Controls parent's clientArea."
+         }
+      },
+      {
+         "background",
+         {
+            description = "The Color of the Client Area.\n"
+               "Example: background = { r = 53, g = 100, b = 203 };"
+         }
+      },
+      {
+         "borderStyle",
+         {
+            description = "The type of Window frame your Window has."
+         }
+      },
+      {
+         "clickThrough",
+         {
+            description = "When true, this Window/Control redirects mouse clicks to its parent rather than processing the mouse clicks itself. Essentially, the mouse becomes invisible to this item."
+         }
+      },
+      {
+         "clientSize",
+         {
+            description = "Sets the size of the interior of the Window; the Client Area.\n"
+               "Example: clientSize = { 190, 290 };"
+         }
+      },
+      {
+         "closeButton",
+         {
+            description = "This is the control for the CloseButton at the top right of the Window."
+         }
+      },
+      {
+         "disabled",
+         {
+            description = "Greys out ALL controls within the Window making them unusable, including the controls on the TitleBar. When applied to an individual control, rather than an entire Window, then only that control is greyed out an unusable."
+         }
+      },
+      {
+         "dontHideScroll",
+         {
+            description = "When true, the Horizontal and Vertical Scroll Bars are not hidden when all the contents are within the viewspace."
+         }
+      },
+      {
+         "drawBehind",
+         {
+            description = "When true(default), then the contents of the screen behind the Window are still redrawn. If false, then the screen behind is not redrawn, which can leave \"ghosts\" of the Window on the screen when it is moved or resized."
+         }
+      },
+      {
+         "font",
+         {
+
+         }
+      },
+      {
+         "foreground",
+         {
+            description = "The Color of the text in the Client Area.\n"
+               "Example: foreground = { r = 0, g = 0, b = 0 };"
+         }
+      },
+      {
+         "hasClose",
+         {
+            description = "When true, the Window will contain a Close button on the top right side of the Title Bar."
+         }
+      },
+      {
+         "hasHorzScroll",
+         {
+            description = "When true, the Window has a Horizontal Scroll bar across its bottom. When the contents of the Window exceeds its horizontal borders."
+         }
+      },
+      {
+         "hasMaximize",
+         {
+            description = "When true, the Window will contain a Maximize button on the right side of the Title Bar."
+         }
+      },
+      {
+         "hasMenuBar",
+         {
+            description = "When true, the Window will contain a Menu Bar immediately below the Title Bar."
+         }
+      },
+      {
+         "hasMinimize",
+         {
+            description = "When true, the Window will contain a Minimize button on the right side of the Title Bar."
+         }
+      },
+      {
+         "hasStatusBar",
+         {
+            description = "When true, the Window will contain a Status Bar at the bottom."
+         }
+      },
+      {
+         "hasVertScroll",
+         {
+            description = "When true, the Window has a Vertical Scroll bar along the right hand side. When the contents of the Window exceeds its vertical borders."
+         }
+      },
+      {
+         "hotKey",
+         {
+            description = "The key associated with a particular Window or Control. Pressing this key, or key combination will automatically activate the associated Window or Control.\n"
+               "Note: If the tabCycle property of the parent is not true, then hotKey will not work unless the parent is active."
+         }
+      },
+      {
+         "isDocument",
+         {
+            description = "When true, this Window/Control would be treated as a document, enabling things like having the path show up in the Title Bar. \n"
+               "Note: For best results, set this property true on a Window rather than on a Control."
+         }
+      },
+      {
+         "master",
+         {
+            description = "Typically, the Master is the Controlling Window of the application. The Master receives all the messages.\n"
+               "Example: master = this;"
+         }
+      },
+      {
+         "maxClientSize",
+         {
+            description = "The Maximum allowable size for the Client Area within the window.\n"
+               "Example: maxClientSize = { 120, 400 };"
+         }
+      },
+      {
+         "maximizeButton",
+         {
+            description = "This is the control for the MaximizeButton at the top right of the Window."
+         }
+      },
+      {
+         "menu",
+         {
+            description = "The Menu portion of the Window."
+         }
+      },
+      {
+         "minClientSize",
+         {
+            description = "The Minimum allowable size for the Client Area within the window.\n"
+               "Example: minClientSize = { 50, 50 };"
+         }
+      },
+      {
+         "minimizeButton",
+         {
+            description = "This is the control for the MinimizeButton at the top right of the Window."
+         }
+      },
+      {
+         "name",
+         {
+            description = "This is the name of the instantiation. Typically this is only adjusted in the property editor.\n"
+               "Example: name = \"editBox1\";\n"
+               "or: EditBox editBox1;"
+         }
+      },
+      {
+         "noCycle",
+         {
+            description = "When true, then the particular control which this is set on becomes exempt from the Tab cycling normally available from it's parents tabCycle property."
+         }
+      },
+      {
+         "nonClient",
+         {
+            description = "When true, enables the Window/Control to inhabit a region outside of the clientArea, but still constrained to the Parent. Normally this is used for system controls like the buttons in the Title Bar."
+         }
+      },
+      {
+         "normalAnchor",
+         {
+            description = "The anchor of the Window in its normal state, that is not minimized or maximized."
+         }
+      },
+      {
+         "opacity",
+         {
+            description = "A real number between 0 and 1, setting how translucent a control is. 0 is completely transparent, and 1 is completely opaque.\n"
+               "Example: opacity = 0.45;"
+         }
+      },
+      {
+         "parent",
+         {
+            description = "The Window which the current Window/Control belongs to.\n"
+               "Example: parent = this;"
+         }
+      },
+      {
+         "position",
+         {
+            description = "The position of a Window/Control relative to the top left client area of the Parent. \n"
+               "Example: position = { 10, 10 };"
+         }
+      },
+      {
+         "size",
+         {
+            description = "Sets the size of the Window, including all the decorations.\n"
+               "Example: size = { 200, 300 };"
+         }
+      },
+      {
+         "state",
+         {
+            description = "Sets the state of the Window, either Normal, Minimized, or Maximized.\n"
+               "state = Normal;"
+         }
+      },
+      {
+         "stayOnTop",
+         {
+            description = "When true, the Window will stay on top of all other windows. Does not apply to controls."
+         }
+      },
+      {
+         "tabCycle",
+         {
+            description = "When true, then it becomes possible to use the tab key to cycle through all of the children of this Window/Control. The order of cycling is determined by the order of instantiation.\n"
+               "Note: If tabCycle is not true on the parent, then children with hotKeys set, will not be activated by pressing the hotKey, unless the parent is currently active."
+         }
+      },
+      {
+         "text",
+         {
+            description = "The title bar text for the Window. For other controls such as a Label or a Button, text is the descriptive text that the user sees.\n"
+               "Example: text = \"This is a Window\";"
+         }
+      },
+      {
+         "visible",
+         {
+            description = "When true, the Window/Control is actually visible on the screen."
+         }
+      }
+   ],
+   methods = [
+      {
+         "Destroy",
+         {
+            description = "Destroys the current Window/Control.",
+            usage = "Used in the statement section of the source code.",
+            example = "Window\n"
+               "{\n"
+               "   text = \"Destroy Example\";\n"
+               "   Button \n"
+               "   {\n"
+               "      text = \"Destroy this Window!\";",
+            parameters = [
+               {
+                  "code",
+                  {
+                     description = "0",
+                     position = 1
+                  }
+               }
+            ]
+         }
+      },
+      {
+         "OnCreate",
+         {
+            description = "Called any time a Window is created. And can be overridden to perform actions at the time that a window is created.",
+            returnValue = "When true, the Window creation was successful."
+         }
+      },
+      {
+         "OnRedraw",
+         {
+            description = "This method is called anytime the Window is redrawn. Usually when it is resized or moved, however can also be called manually by calling Update() to redraw the contents of the window.",
+            usage = "Use this method by overriding it in your own code, within the Window class that it belongs to.",
+            example = "class Form1 : Window\n"
+               "{\n"
+               "   void OnRedraw(Surface surface)\n"
+               "   {\n"
+               "      surface.blit( image, xdest, ydest, sourceX, sourceY, sourceW, sourceH );\n"
+               "   }\n"
+               "}",
+            remarks = "Typically this method is responsible for the actual drawing of all the graphics for your program.",
+            also = "OnApplyGraphics(), OnLoadGraphics(), OnResize(), OnResizing(), Update(), Window",
+            parameters = [
+               {
+                  "surface",
+                  {
+                     description = "The graphical context which is obtained for this window, which will be drawn to.",
+                     position = 1
+                  }
+               }
+            ]
+         }
+      },
+      {
+         "Update",
+         {
+            description = "Causes the OnRedraw() method of the Window to be called.",
+            usage = "Used in the statement section of the code.",
+            example = "class Form1 : Window\n"
+               "{\n"
+               "   Update( null ); // update the entire window\n"
+               "   Update( { 0, 0, 50, 50 } ); // update the region from 0 to 50 on the x axis, and 0 to 50 on the y axis.\n"
+               "} ",
+            remarks = "One should only update the necessary areas when possible, as updating the entire window indiscriminately can hog precious CPU cycles.",
+            also = "UpdateDisplay(), OnRedraw()",
+            parameters = [
+               {
+                  "region",
+                  {
+                     description = "Defines the area of the Window to be updated. If null is specified, then the entire window is updated.",
+                     position = 1
+                  }
+               }
+            ]
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/_global-defs.econ b/doc/ecere/ecere/gui/_global-defs.econ
new file mode 100644 (file)
index 0000000..80af561
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "gui",
+   description = "The ecere::gui namespace is for the Graphical User Interface API."
+}
diff --git a/doc/ecere/ecere/gui/controls/BufferLocation.econ b/doc/ecere/ecere/gui/controls/BufferLocation.econ
new file mode 100644 (file)
index 0000000..4207321
--- /dev/null
@@ -0,0 +1,11 @@
+{
+   name = "BufferLocation",
+   fields = [
+      {
+         "line",
+         {
+
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/controls/DropBox.econ b/doc/ecere/ecere/gui/controls/DropBox.econ
new file mode 100644 (file)
index 0000000..3024281
--- /dev/null
@@ -0,0 +1,118 @@
+{
+   name = "DropBox",
+   description = "Closely related to the EditBox, this control offers a list of options to choose from which drops down from the EditBox",
+   remarks = "Unlike most properties and members, the selectionColor property can only be adjusted through the property editor, and does not have a code equivalent.",
+   fields = [
+      {
+         "button",
+         {
+            description = "The button which is attached to this control."
+         }
+      }
+   ],
+   properties = [
+      {
+         "activeColor",
+         {
+            description = "When true, the active text in the EditBox portion of this control is highlighted with selectionColor."
+         }
+      },
+      {
+         "activeStipple",
+         {
+            description = "When true, the active text in the EditBox portion of this control is outlined with a dotted line."
+         }
+      },
+      {
+         "alignment",
+         {
+            description = "Sets the alignment of the text. Left, Center, or Right."
+         }
+      },
+      {
+         "changeContents",
+         {
+
+         }
+      },
+      {
+         "contents",
+         {
+            description = "When editText is true, then the EditBox portion of the control displays this string."
+         }
+      },
+      {
+         "editBox",
+         {
+            description = "Allows the users to enter data. This is the EditBox portion of this control."
+         }
+      },
+      {
+         "editText",
+         {
+            description = "When true, allows the user to enter data manually."
+         }
+      },
+      {
+         "maxShown",
+         {
+            description = "The number of items to show in the drop down list.\n"
+               "Example: DropBox dropBox1 { this, maxShown = 2 };"
+         }
+      },
+      {
+         "noHighlight",
+         {
+            description = "When true, only the text alone is highlighted, instead of the entire box."
+         }
+      },
+      {
+         "pullDown",
+         {
+            description = "The window which contains the drop down list."
+         }
+      },
+      {
+         "rowHeight",
+         {
+            description = "The height of each row of the drop down list. One item is listed per row.\n"
+               "Example: DropBox dropBox1 { this, rowHeight = 16 };"
+         }
+      },
+      {
+         "selectionColor",
+         {
+            description = "The color of the highlighting for the EditBox portion of this control."
+         }
+      },
+      {
+         "showButton",
+         {
+            description = "When true, a button is placed at the right side of the DropBox giving a visual clue that there is a drop down list of options to select."
+         }
+      },
+      {
+         "showNone",
+         {
+            description = "When true, \"(none)\" is included in the list of items."
+         }
+      }
+   ],
+   methods = [
+      {
+         "AddString",
+         {
+            description = "Adds a literal string to the listing of the DropBox.",
+            parameters = [
+               {
+                  "string",
+                  {
+                     description = "The literal string to add to the DropBox.",
+                     position = 1
+                  }
+               }
+            ]
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/controls/EditBox.econ b/doc/ecere/ecere/gui/controls/EditBox.econ
new file mode 100644 (file)
index 0000000..4e87d75
--- /dev/null
@@ -0,0 +1,138 @@
+{
+   name = "EditBox",
+   description = "An empty box, allowing users to input data.",
+   remarks = "Currently, Word Wrap is not fully implemented.",
+   properties = [
+      {
+         "allCaps",
+         {
+            description = "When true, all data entered will be uppercase characters."
+         }
+      },
+      {
+         "caretFollowsScrolling",
+         {
+            description = "When true, the Caret does not leave the visible area when it is scrolled."
+         }
+      },
+      {
+         "contents",
+         {
+            description = "The contents of the Edit Box.\n"
+               "Example: char * contentsOfEditBox = editBox1.contents;"
+         }
+      },
+      {
+         "freeCaret",
+         {
+            description = "When true, the Caret is placed where the mouse is clicked, whether there is text there or not. The Caret cannot be placed on a line that does not yet have text."
+         }
+      },
+      {
+         "maxLineSize",
+         {
+            description = "The maximum number of characters that a line can hold.\n"
+               "Example: maxLineSize = 30;"
+         }
+      },
+      {
+         "maxNumLines",
+         {
+            description = "The maximum number of lines that the Edit Box contains.\n"
+               "Example: maxNumLines = 5;"
+         }
+      },
+      {
+         "multiLine",
+         {
+            description = "When true, the user can enter input on more than one line in the Edit Box."
+         }
+      },
+      {
+         "noCaret",
+         {
+            description = "When true, the Caret will not appear in the Edit Box. The property editor will automatically set the Edit Box to read only. This makes it so that the Edit Box can be used for read only information without the distraction or confusion of the Caret."
+         }
+      },
+      {
+         "noSelect",
+         {
+            description = "When true, selection of data is disabled in the Edit Box."
+         }
+      },
+      {
+         "overwrite",
+         {
+            description = "Returns true if the Insert key has been pressed, and false if it hasn't. This property cannot be set."
+         }
+      },
+      {
+         "readOnly",
+         {
+            description = "When true, the text in the edit box cannot be edited and can only be modified using the contents property."
+         }
+      },
+      {
+         "syntaxHighlighting",
+         {
+            description = "When true, text which is recognized as a key word in eC, a number, or a string, are coloured differently from the foreground colour."
+         }
+      },
+      {
+         "tabKey",
+         {
+            description = "When true, the Tab Key is processed within the Edit Box."
+         }
+      },
+      {
+         "tabSize",
+         {
+            description = "The number of spaces to jump when the Tab Key is pressed. Note: tabSize has no meaning if tabKey is not true."
+         }
+      },
+      {
+         "textHorzScroll",
+         {
+            description = "When true, the text will scroll to the left while it is being entered, so that the caret is always visible. This also enables the user to manually scroll left and right on the line using the left and right arrows.\n"
+               "When false, it is not possible to type past the width of the control."
+         }
+      },
+      {
+         "textVertScroll",
+         {
+            description = "When true, the text can be scrolled vertically using the up and down arrows. For this to work, multiLine must also be true.\n"
+               "When false, it is not possible to type past the bottom of the control."
+         }
+      },
+      {
+         "wrap",
+         {
+            description = "When true, automatically wraps the text to the next line of a multiLine Edit Box when the caret encounters the right most side of the Edit Box. This wraps from the beginning of the last word on the line."
+         }
+      }
+   ],
+   methods = [
+      {
+         "Load",
+         {
+            description = "Loads a file into the EditBox.",
+            usage = "Used in the statements section of code. Once an instantiation of the EditBox control has been made, then Load() would be accessed through the . operator.",
+            example = "File f = FileOpen(\"C:/fun.txt\", read);\n"
+               "if(f)\n"
+               "{\n"
+               "   myEditBox.Load(f);\n"
+               "   delete(f);\n"
+               "}",
+            parameters = [
+               {
+                  "f",
+                  {
+                     description = "Any file already open.",
+                     position = 1
+                  }
+               }
+            ]
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/controls/Label.econ b/doc/ecere/ecere/gui/controls/Label.econ
new file mode 100644 (file)
index 0000000..497c339
--- /dev/null
@@ -0,0 +1,59 @@
+{
+   name = "Label",
+   description = "Static text, used to provide information to the user.",
+   usage = "Can be dragged from the toolbox directly to the source, or into the form editor.\n"
+      "\n"
+      "Otherwise, can be manually entered in to the statements section of code, in the definition of it's parent.\n"
+      "\n"
+      "Label inherits qualities defined in the Window class.\n"
+      "\n"
+      "All of Label's qualities can be defined in its instantiation. Note, that the first quality that should be set in the instantiation is the Parent. If this is not set, then Label is constructed as a free object rather than a child. This would result in Label not being closed when the program was closed. Most commonly the parent is the this object, as they are defined within the parent class.\n"
+      "\n"
+      "Some of the most commonly overridden qualities are:\n"
+      "   font:       Specifies the font to be used for the Label, and it's properties.\n"
+      "   position: Specifies the top left corner of the Label in relation to the top left corner of the parent.\n"
+      "   size:       Specifies the size of the Label and/or the GroupBox\n"
+      "   text:       Specifies the text to be seen on the Label.",
+   example = "class Form1 : Window\n"
+      "{\n"
+      "   Label label1 { this, text = \"This is a label\", position = { 10, 10 } };\n"
+      "   Label label2 { this, text = \"This is a bold label\", font = \"Tahoma\", 8.25f, bold = true, position = { 10, 40 } };\n"
+      "   Label test { this, text = \"This is a label!\", inactive = false, size = { 108, 44 }, position = { 56, 72 }, labeledWindow = editBox1, true };\n"
+      "   Label groupBox { this, text = \"This is a Group Box\", size = { 100, 100 }, isGroupBox = true };\n"
+      "}\n"
+      "Form1 form1 {};",
+   remarks = "Label is exempt from the usual tabCycle process, because it's inactive property is by default set to true. However, when isGroupBox is true, then inactive by default is set to false, since it would be desired to have the children of the GroupBox as part of the tabCycling.",
+   also = "Label Properties from the Window class:\n"
+      "Appearance: \n"
+      "background, borderStyle, cursor, font, foreground, opacity, text.\n"
+      "Behaviour:\n"
+      "clickThrough, disabled, displayDriver, dontHideScroll, dontScrollHorz, dontScrollVert, hotKey, inactive, interim, isActiveClient, isDefault, isModal, isRemote, master, modifyVirtualArea, noCycle, scroll, scrollArea, snapHorzScroll, snapVertScroll, state, tabCycle, visible.\n"
+      "Data:\n"
+      "id\n"
+      "Design:\n"
+      "name\n"
+      "Document:\n"
+      "fileName, isDocument, modifiedDocument.\n"
+      "Layout:\n"
+      "anchor, clientSize, is3D, maxClientSize, minClientSize, nonClient, parent, position, size, sizeAnchor.\n"
+      "Misc:\n"
+      "alphaBlend, autoCreate, closing, creationActivation, fullRender, icon, moveable, useSharedMemory.\n"
+      "Window Style:\n"
+      "drawBehind, hasClose, hasHorzScroll, hasMaximize, hasMenuBar, hasMinimize, hasStatusBar, hasVertScroll, menu, mergeMenus, showInTaskBar, stayOnTop\n"
+      "",
+   properties = [
+      {
+         "isGroupBox",
+         {
+            description = "If false, the Label is simply static text. If true, the Label is attached to a frame, which is used to visually group components together. The size of this frame is equal to the size of the Label."
+         }
+      },
+      {
+         "labeledWindow",
+         {
+            description = "Enables the Label to be attached to another control of Window class, or derived from the Window class, as a \"Window Label.\" \n"
+               "*Developer Note: Currently, there is a bug which prevents this from working properly in the Form Editor, however it can be coded directly into the source."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/gui/controls/_global-defs.econ b/doc/ecere/ecere/gui/controls/_global-defs.econ
new file mode 100644 (file)
index 0000000..ed13e93
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "controls",
+   description = "The ecere::gui::controls namespace is for GUI controls like Button or EditBox."
+}
diff --git a/doc/ecere/ecere/gui/dialogs/_global-defs.econ b/doc/ecere/ecere/gui/dialogs/_global-defs.econ
new file mode 100644 (file)
index 0000000..96e4f6a
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "dialogs",
+   description = "The ecere::gui::dialogs namespace is for GUI dialogs like MessageBox or FileDialog."
+}
diff --git a/doc/ecere/ecere/gui/skins/_global-defs.econ b/doc/ecere/ecere/gui/skins/_global-defs.econ
new file mode 100644 (file)
index 0000000..1e239de
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "skins",
+   description = "The ecere::gui::skins namespace is for skins that implement the look of the GUI."
+}
diff --git a/doc/ecere/ecere/net/_global-defs.econ b/doc/ecere/ecere/net/_global-defs.econ
new file mode 100644 (file)
index 0000000..c97b645
--- /dev/null
@@ -0,0 +1,4 @@
+{
+   name = "net",
+   description = "The ecere::net namespace is for the Network API."
+}
diff --git a/doc/ecere/ecere/sys/NamedLink64.econ b/doc/ecere/ecere/sys/NamedLink64.econ
new file mode 100644 (file)
index 0000000..4a8c354
--- /dev/null
@@ -0,0 +1,23 @@
+{
+   name = "NamedLink64",
+   fields = [
+      {
+         "name",
+         {
+
+         }
+      },
+      {
+         "next",
+         {
+
+         }
+      },
+      {
+         "prev",
+         {
+
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/sys/Point.econ b/doc/ecere/ecere/sys/Point.econ
new file mode 100644 (file)
index 0000000..2813a2b
--- /dev/null
@@ -0,0 +1,23 @@
+{
+   name = "Point",
+   description = "An x, y coordinate on the Cartesian plane.\n"
+      "\n"
+      "Most frequently a Point type is used in graphical application to refer to a pixel coordinate on the screen.",
+   usage = "Used in the declaration section of code.",
+   example = "Point coord = { 10, 30 } // equivalent to coord.x = 10, coord.y = 30",
+   also = "GeoPoint, Pointf, PolarPoint, Vector3D, Vector3Df",
+   fields = [
+      {
+         "x",
+         {
+            description = "The distance from the left along the horizontal plane."
+         }
+      },
+      {
+         "y",
+         {
+            description = "The distance from the top along the vertical plane."
+         }
+      }
+   ]
+}
diff --git a/doc/ecere/ecere/sys/_global-defs.econ b/doc/ecere/ecere/sys/_global-defs.econ
new file mode 100644 (file)
index 0000000..3c20c2e
--- /dev/null
@@ -0,0 +1,41 @@
+{
+   name = "sys",
+   description = "The ecere::sys namespace is for the extended System API.",
+   functions = [
+      {
+         "GetRandom",
+         {
+            description = "Returns a random integer from lo to hi inclusive.",
+            usage = "Returns a random integer, based on the Random Seed. If no Random Seed is set with RandomSeed(), then GetRandom() returns lo.",
+            example = "      int Rand;\n"
+               "      RandomSeed((uint)(GetTime() * 1000));\n"
+               "      Rand = GetRandom(1, 10);\n"
+               "      printf(\"%d\\n\", Rand);     ",
+            also = "GetTime(), RandomSeed()"
+         }
+      },
+      {
+         "GetTime",
+         {
+            description = "Returns the current system time as a Time object.",
+            example = "      int Rand;\n"
+               "      RandomSeed((uint)(GetTime() * 1000));\n"
+               "      Rand = GetRandom(1, 10);\n"
+               "      printf(\"%d\\n\", Rand);     ",
+            also = "RandomSeed()"
+         }
+      },
+      {
+         "RandomSeed",
+         {
+            description = "This method seeds the random number generator.",
+            usage = "This method needs to be called before any call to GetRandom(), otherwise GetRandom will not retrieve a random number. The seed can be any unsigned integer, however any constant value will produce predictable results each time. For closer to true results, try using GetTime() as the seed.",
+            example = "      int Rand;\n"
+               "      RandomSeed((uint)(GetTime() * 1000));\n"
+               "      Rand = GetRandom(1, 10);\n"
+               "      printf(\"%d\\n\", Rand);     ",
+            also = "GetRandom(), GetTime()"
+         }
+      }
+   ]
+}
diff --git a/doc/ecereCOM.eCdoc b/doc/ecereCOM.eCdoc
deleted file mode 100644 (file)
index efc59e6..0000000
Binary files a/doc/ecereCOM.eCdoc and /dev/null differ
diff --git a/doc/ecereCOM/bool.econ b/doc/ecereCOM/bool.econ
new file mode 100644 (file)
index 0000000..437d50d
--- /dev/null
@@ -0,0 +1,30 @@
+{
+   name = "bool",
+   description = "An enumeration type, capable of storing only two values: true and false.\n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "A bool variable is used for logical purposes, and is used almost exclusively for comparison operations. Ie) Is this statement true? Or is it false?",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "bool thisBool; // A stand alone declaration of a bool.\n"
+      "bool a, b; // Declaring two bools at the same time.\n"
+      "bool c = true, d = false; // Declaring two bools, and initializing them both at the same time.",
+   remarks = "A bool type describes a boolean type variable and can only store a true or false value.\n"
+      "\n"
+      "bool is equivalent to a bool in C.",
+   also = "byte, char, char *, double, enum, float, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()",
+   values = [
+      {
+         "false",
+         {
+            description = "One of the only two values that a boolean can be set to."
+         }
+      },
+      {
+         "true",
+         {
+            description = "One of the only two values that a boolean can be set to."
+         }
+      }
+   ]
+}
diff --git a/doc/ecereCOM/byte.econ b/doc/ecereCOM/byte.econ
new file mode 100644 (file)
index 0000000..ca7c1cc
--- /dev/null
@@ -0,0 +1,20 @@
+{
+   name = "byte",
+   description = "A byte type, is exactly what it's name implies, a data type  which stores a single byte of information.\n"
+      "\n"
+      "Memory occupied: 8 bits(or 1 byte)\n"
+      "\n"
+      "Numerically, a byte will hold a decimal number between 0 and 255. A byte is frequently used in conjunction with bitwise operators(AND(&), OR(|), XOR(^) and NOT(~)) or bit collection classes.",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "byte a = 3; // binary form: 00000011\n"
+      "byte b = 6; // binary form: 00000110\n"
+      "byte c;\n"
+      "c = a & b; // c will be 2  (00000010)\n"
+      "c = a | b; // c will be 7  (00000111)\n"
+      "c = a ^ b; // c will be 5  (00000101)\n"
+      "c = ~b;    // c will be 249(11111001)",
+   remarks = "Unlike other languages the byte data type is actually a class.\n"
+      "\n"
+      "byte is equivalent to an unsigned char in C.",
+   also = "bool, char, char *, double, enum, float, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/char-pointer.econ b/doc/ecereCOM/char-pointer.econ
new file mode 100644 (file)
index 0000000..cf7e01d
--- /dev/null
@@ -0,0 +1,33 @@
+{
+   name = "char *",
+   description = "A pointer type to an array of chars.\n"
+      "\n"
+      "Memory Occupied: 8 bits (or 1 byte) per character.\n"
+      "\n"
+      "A char * will store any literal string of ASCII characters or UTF-8 characters, as well as any escape sequences.",
+   usage = "Used in the declaration section of code, which is before any statements. \n"
+      "\n"
+      "A variable declared as being a char * can be assigned any literal string which is enclosed between double quotation marks (\" \").\n"
+      "\n"
+      "A key thing to remember is that the * is attached to the name of the variable, not the type.",
+   example = "char * thisString; // A stand alone declaration of a char *.\n"
+      "char * aString, * bString; // Declaring two char *s at the same time.\n"
+      "char * cString = \"Hello\", char * dString = \"World\"; // Declaring and initializing two chars and initializing them at the same time.\n"
+      "________________________________________\n"
+      "\n"
+      "class Hello : Application\n"
+      "{\n"
+      "   void Main()\n"
+      "   {\n"
+      "      char * helloString = \"Hello, World!\";\n"
+      "      printf(\"%s\\n\", helloString);\n"
+      "   }\n"
+      "}\n"
+      "\n"
+      "\n"
+      "\n"
+      "Output:\n"
+      "Hello, World!",
+   remarks = "char * is equivalent to char * in C.",
+   also = "bool, byte, char, double, enum, float, int, int64, uint, uint16, uint32, uint64"
+}
diff --git a/doc/ecereCOM/char.econ b/doc/ecereCOM/char.econ
new file mode 100644 (file)
index 0000000..8ce0f81
--- /dev/null
@@ -0,0 +1,18 @@
+{
+   name = "char",
+   description = "Stores a single ASCII character.\n"
+      "\n"
+      "Memory occupied: 8 bits(or 1 byte)\n"
+      "\n"
+      "A char data type holds a decimal value between the range of -128 and 127. These integer values are used to refer to a particular alphanumeric character in the ASCII set.",
+   usage = "Used in the declaration section of code, which is before any statements.\n"
+      "\n"
+      "A variable declared as being a char can be assigned any single character enclosed between two single quotes (' '), or an integer which is then translated to the ASCII character corresponding to that value, at output.",
+   example = "char thisChar; // A stand alone declaration of a char.\n"
+      "char a, b; // Declaring two chars at the same time.\n"
+      "char c = 'a', d = 98; // Declaring two chars and initializing them at the same time. The 98 is the same as 'b'.",
+   remarks = "Technically, this is an integer data type. Unlike other languages, the char data type is actually a class.\n"
+      "\n"
+      "char is equivalent to a char in C.",
+   also = "bool, byte, char *, double, enum, float, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/double.econ b/doc/ecereCOM/double.econ
new file mode 100644 (file)
index 0000000..b12fbe8
--- /dev/null
@@ -0,0 +1,16 @@
+{
+   name = "double",
+   description = "A double precision float data type.\n"
+      "\n"
+      "Memory occupied: 64 bits(or 8 bytes)\n"
+      "\n"
+      "A double data type holds a real number including the portion which follows the decimal point. The minimum precision for a double is 10 decimal digits. A doubles range is from 2.2250738585072014e-308 to 1.7976931348623158e+308.",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "double aDouble; // A stand alone declaration of a double.\n"
+      "double a, b; // Declaring two doubles at the same time.\n"
+      "double c = 12.1234567899; // Declaring and initializing a double at the same time.",
+   remarks = "Unlike other languages, the double data type is actually a class.\n"
+      "\n"
+      "double is equivalent to a double in C.",
+   also = "bool, byte, char, char *, enum, float, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/float.econ b/doc/ecereCOM/float.econ
new file mode 100644 (file)
index 0000000..7fe3c8b
--- /dev/null
@@ -0,0 +1,16 @@
+{
+   name = "float",
+   description = "A float data type.\n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "A float data type holds a real number including the portion which follows the decimal point. The minimum precision for a float is 6 decimal digits. A floats range is from 1.17549435082228750e-38 to 3.40282346638528860e+38.",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "float aFloat; // A stand alone declaration of a float.\n"
+      "float a, b; // Declaring two floats at the same time.\n"
+      "float c = 12.123456; // Declaring and initializing a float at the same time.",
+   remarks = "Unlike other languages, the float data type is actually a class.\n"
+      "\n"
+      "float is equivalent to a float in C.",
+   also = "bool, byte, char, char *, double, enum, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/int.econ b/doc/ecereCOM/int.econ
new file mode 100644 (file)
index 0000000..2c09bdd
--- /dev/null
@@ -0,0 +1,17 @@
+{
+   name = "int",
+   description = "An integer data type. \n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "An int data type holds a decimal value between the range of -2 exp 31 and 2 exp 31-1 (or -2,147,483,648 and 2,147,483,647).",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "int thisInt; // A stand alone declaration of an int.\n"
+      "int a, b; // Declaring two ints at the same time.\n"
+      "int c = 64000, d = -10; // Declaring two ints, and initializing them both at the same time.\n"
+      "int anotherInt = 0x54DA; //Declaring and initializing an int with a hexadecimal value.",
+   remarks = "Unlike C or C++ where the int memory space can be either 16 or 32 bits depending on the platform, the eC int is guaranteed to be 32 bits on all platforms. Additionally, unlike other languages the int data type is actually a class.\n"
+      "\n"
+      "int is otherwise equivalent to an int in C.",
+   also = "bool, byte, char, char *, double, enum, float, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/int64.econ b/doc/ecereCOM/int64.econ
new file mode 100644 (file)
index 0000000..9ead4c3
--- /dev/null
@@ -0,0 +1,17 @@
+{
+   name = "int64",
+   description = "An integer data type.\n"
+      "\n"
+      "Memory occupied: 64 bits(or 8 bytes)\n"
+      "\n"
+      "An int64 data type holds a decimal value between the range of -2 exp 63 and 2 exp 63-1 (or -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807).",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "int64 thisInt; // A stand alone declaration of an int64.\n"
+      "int64 a, b; // Declaring two int64s at the same time.\n"
+      "int64 c = 4294967296, d = -300; // Declaring two int64s, and initializing them both at the same time.\n"
+      "int64 anotherInt = 040000000000; // Declaring and initializing an int64 with an octal value.",
+   remarks = "Unlike other languages, the int64 data type is actually a class..\n"
+      "\n"
+      "int64 is equivalent to a long long in C.",
+   also = "bool, byte, char, char *, double, enum, int, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/struct.econ b/doc/ecereCOM/struct.econ
new file mode 100644 (file)
index 0000000..b7df478
--- /dev/null
@@ -0,0 +1,3 @@
+{
+   name = "struct"
+}
diff --git a/doc/ecereCOM/uint.econ b/doc/ecereCOM/uint.econ
new file mode 100644 (file)
index 0000000..8fc030a
--- /dev/null
@@ -0,0 +1,16 @@
+{
+   name = "uint",
+   description = "An unsigned integer data type.\n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "A uint data type holds a decimal value between the range of 0 to 2 exp 32-1 (or 0 to 4,294,967,295).",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "uint aUint; // A stand alone declaration of a uint.\n"
+      "uint a, b; // Declaring two uints at the same time.\n"
+      "uint c = 64000, d = 10; // Declaring two uints, and initializing them both at the same time.",
+   remarks = "Unlike other languages the uint data type is actually a class.\n"
+      "\n"
+      "uint is equivalent to an unsigned int in C.",
+   also = "bool, byte, char, char *, double, enum, float, int, int64, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/uint16.econ b/doc/ecereCOM/uint16.econ
new file mode 100644 (file)
index 0000000..45a88d8
--- /dev/null
@@ -0,0 +1,17 @@
+{
+   name = "uint16",
+   description = "An unsigned integer data type.\n"
+      "\n"
+      "Memory occupied: 16 bits(or 2 bytes)\n"
+      "\n"
+      "A uint16 data type holds a decimal value between the range of 0 and 65,535.",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "uint16 aUint16; // A standalone declaration of a uint16\n"
+      "uint16 a, b; // Declaring two uint16s at the same time.\n"
+      "uint16 c = 64000, d = 10; // Declaring two unit16s, and initializing them both at the same time.\n"
+      "uint16 hexNumber = 0x1C42; // Declaring a uint16, and initializing it with the hex value 7,234.",
+   remarks = "Unlike other languages the uint16 data type is actually a class.\n"
+      "\n"
+      "uint16 is equivalent to an unsigned short in C.",
+   also = "bool, byte, char, char *, double, enum, int, int64, uint, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/uint32.econ b/doc/ecereCOM/uint32.econ
new file mode 100644 (file)
index 0000000..4659148
--- /dev/null
@@ -0,0 +1,16 @@
+{
+   name = "uint32",
+   description = "An unsigned integer data type.\n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "A uint32 data type holds a decimal value between the range of 0 to 2 exp 32-1 (or 0 to  4,294,967,295).",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "uint32 aUint32; // A stand alone declaration of a uint32.\n"
+      "uint32 a, b; // Declaring two uint32s at the same time.\n"
+      "uint32 c = 64000, d = 10; // Declaring two uint32s, and initializing them both at the same time.",
+   remarks = "Unlike other languages the uint32 data type is actually a class.\n"
+      "\n"
+      "uint32 is equivalent to an unsigned int in C.",
+   also = "bool, byte, char, char *, double, enum, float, int, int64, uint16, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/uint64.econ b/doc/ecereCOM/uint64.econ
new file mode 100644 (file)
index 0000000..a84a71c
--- /dev/null
@@ -0,0 +1,16 @@
+{
+   name = "uint64",
+   description = "An unsigned integer data type.\n"
+      "\n"
+      "Memory occupied: 64 bits(or 8 bytes)\n"
+      "\n"
+      "A uint64 data type holds a decimal value between the range of 0 and 2 exp 64-1 (or 0 to 18,446,744,073,709,551,615).",
+   usage = "Used in the declaration section of code, which is before any statements.",
+   example = "uint64 aUint64; // A stand alone declaration of a uint64.\n"
+      "uint64 a, b; // Declaring two uint64s at the same time.\n"
+      "uint64 c = 64000, d = 10; // Declaring two uint64s, and initializing them both at the same time.",
+   remarks = "Unlike other languages, the uint64 data type is actually a class.\n"
+      "\n"
+      "uint64 is equivalent to an unsigned long long in C.",
+   also = "bool, byte, char, char *, double, enum, float, int, int64, uint16, uint32, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}
diff --git a/doc/ecereCOM/unsigned-int.econ b/doc/ecereCOM/unsigned-int.econ
new file mode 100644 (file)
index 0000000..16aa4ee
--- /dev/null
@@ -0,0 +1,18 @@
+{
+   name = "unsigned int",
+   description = "An unsigned integer data type.\n"
+      "\n"
+      "Memory occupied: 32 bits(or 4 bytes)\n"
+      "\n"
+      "An unsigned int data type holds a decimal value between the range of 0 to 2 exp 32-1 (or 0 to 4,294,967,295).",
+   usage = "Used in the declaration section of code, which is before any statements.\n"
+      "\n"
+      "Declared as a standard int, but with the unsigned keyword in front to denote an unsigned integer value.",
+   example = "unsigned int aUint; // A stand alone declaration of an unsigned int.\n"
+      "unsigned int a, b; // Declaring two unsigned ints at the same time.\n"
+      "unsigned int c = 64000, d = 10; // Declaring two unsigned ints, and initializing them both at the same time.",
+   remarks = "Unlike other languages the unsigned int data type is actually a class.\n"
+      "\n"
+      "unsigned int is equivalent to an unsigned int in C, and is in fact only part of eC to maintain backwards compatibility with C. In all ways, the unsigned int is also equivalent to the shorter and preferred uint syntax.",
+   also = "bool, byte, char, char *, double, enum, float, int, int64, uint, uint16, uint32, uint64, OnCompare(), OnCopy(), OnDisplay(), OnEdit(), OnFree(), OnGetDataFromString(), OnGetString(), OnSaveEdit(), OnSerialize(), OnUnserialize()"
+}