Lewort Logo

Lewort

      The first and only true Integrated Development Environment (IDE) under PocketPC


Soft input panel section - Basics

Lewort comes with a soft input panel (SIP) plugin. You can trigger it in any application, but it will be best used in Lewort itself.

The SIP is usually a small window on the bottom of the screen like this (in purple) :
SIP

Unlike usual SIP (like virtual keyboard), the Lewort's SIP not only track "where-you-click" but also "what move you've made before releasing the stylus". For example, in the previous screenshot, if you click on the "switch/case" button, and release it directly, Lewort is going to insert a complete C statement like this one (and move the caret inside the "switch" parenthesis):

switch ()
{
case :
    break;
default:
    break;
}

In fact, it is inserting the text written in the top (or left) part of the button. Then if you click on the "switch/case" button but, this time, you go in the bottom direction before releasing it, it is going to only insert what is suggested on the bottom of the button (ie.):

case :
    break;

Soft input panel section - Advanced

The SIP is the small window on the bottom of the screen like this (in purple) :
SIP

Some buttons have up to 4 functions, and the position of the text inside the button gives the direction you have to draw to insert this text. If you go left on the "for/do/while" button, you'll insert a "for" statement, going right will insert a "do" statement, and going down will insert a "while" statement (easy, isn't it ?)
The "If..." button is the only button that is not fully written (lack of space). It works like if it were written:

top    : if ()
left   : if () { }
bottom : if () { } else { }
right  : else { }


There are four special buttons on this SIP.
  1. The "ABC <" button triggers the last SIP (usually the virtual keyboard), and waits for this SIP to be hidden to switch back to Lewort SIP. It is used to enter variable names
  2. The "0x" button shows a numeric SIP for both decimal, octal and hexadecimal input (you can use it to enter a number)
  3. The "%, +;-[]" button shows an operator specialized SIP (to allow entering a whole list of operators at once and placing the caret)
  4. The "type" button shows a C/C++ type SIP so it is easy to compose a type (like for example "virtual unsigned int * (short int &)" with few taps).
Using Lewort SIP is very intuitive. I can't live without it anymore, so I guess it is really useful.

Common errors and their solution

  • When installing Lewort, I get strange messages... (or the installer is not very intuitive).
    • Okay, Lewort hasn't reached release stage yet, so the installer is far from finished. Any way, I'm working on this right now, and the installer will be ready for 1.0 release

  • I can not get a project to compile
    • If you get "Build failed" message box,
      • If you get this message instantly, you have to make sure that the compiler's path is correctly set up in your project's options. You can check if the compiler's path is correct in the "Compiler options" dialog from "Project / Options" menu.
      • You have to make sure that there is no space in any project file's path. PocketGCC doesn't support spaces in filename (even with escaped spaces, or double brace). This is a known limitation, and I am thinking about rebuilding GCC in order to support spaces.
      • You can view the last compiler & linker errors by selecting the "See last errors" option in "Project" menu. Usually, you've made a syntax error and GCC will give you the corresponding message

    • If the last error message is "Out of memory allocating..."
      • There are great chance that you don't have enough memory. The minimum amount of required memory is 32MB. The minimum amount of free memory is 25MB.
      • If you only have 32MB of memory, and don't have 25MB of free memory, please make sure that PocketGCC is not installed in "\pgcc" because it is going to "eat" 18MB of memory. Move PocketGCC to a storage card. Then I highly recommend you get the "uncompressed header files" version so memory usage gets lower while compiling

  • The compilation is very slow
    • If you have a CPU that runs slower than 230Mhz, I highly recommand you download the "uncompressed header files" version so compilation will not require to uncompress all the headers on the fly. On the other hand, this will require more storage space.

  • I get error "somefile.cpp(34): something" while compiling
    • I don't provide C/C++ error fixing for the moment. Please google around, I'm sure someone else got that error too

Tips and tricks

  • You can get the current caret line by clicking the "Edit" menu, and "Go to line..." option. The highlighted number is the current caret position      [Editor]
  • The symbols in the current editor are only parsed when the file is named and saved.      [Editor]
  • To speed up compilation, you can use the "uncompressed header files" version      [Building]
  • You can double click in any item in the project explorer to open that item (or modify the targets). In fact, double-clicking adds another options to most icons in Lewort. (In the symbol explorer, it will bring you the declaration of the double clicked symbol      [Interface]
  • [Not done yet] The left and right arrows on the top bar have multiple functions depending on context. For example, if the last thing you did was looking for some text (through the "Edit" / "Find..." option), clicking on the left(right) button will trigger the previous(next) matching item      [Interface]
  • Feel free to buy Lewort to help me improving the software      [Other]