Graphical library with a designer (second surprise)

When it comes to graphics, NETMF has 2 major needs. First, there is no window/interface designer. This means you need to write code, run it to see if you like it then go back to code to make any changes…not very modern. The second problem is speed. WPF is somewhat flexible but the performance is not ideal.

The answer for all this is “Glide” which is a graphical library with optimization done on every single line. It adds window-components, such as button and label, and also add a special built-in-windows such as keyboards. The windows are rendered from an XML file which is generated from a designer.

Here is an alpha preview of what to come:
The main page http://www.ghielectronics.com/glide
The designer http://www.ghielectronics.com/glide/designer/

Give it a try and let us know what you like to see in future.

GREAT WORK!!! 8)

That’s what I was talking about :slight_smile: Nice work guys.

I used Glide on a FEZ Cobra Box in a event to get participants’ email addresses. It worked so smoooothly.

Glide = 8)

Now all you need to do is extend the designer a bit and integrate it into VS… :smiley:

Now that’s what I was waiting for!
Time to dig up the cobra and chipworkX and start playing with GUI + internet 8)

Fantastic job guys! :clap:

Hi, Gus!

Fantastic job! :clap: :clap: :clap:
One question: I tried to run Glide example in Visual Studio (using Microsoft Emulator) but I got error message:“Error: Assembly file ’ ’ does not exists. Load failed”.
Any special requirements to start this demo?

Did you add the dll?
http://www.ghielectronics.com/downloads/Glide/GHIElectronics.NETMF.Graphics.Glide.zip

Yes, I did. I added dll in refences of demo application.

Looks like there is a missing file. We will update files asap

12 the DLL zip has been updated. You shouldn’t have any problems now.

http://www.ghielectronics.com/downloads/Glide/Glide%20DLL%20V1.0.0.zip

How do you modify the viewable area? Or is the designer limited to 270X208 pixels?

Thank you Josh.

Do not forget to change the code for initalising the window

FROM:


_windows[0] = LoadManager.LoadWindowFromXML(Resources.GetString(Resources.StringResources.Window1));

TO:

 
_windows[0] = LoadManager.LoadWindowFromXML(Encoding.UTF8.GetBytes(Resources.GetString(Resources.StringResources.Window1)));

Because you need to provide byte[] as parameter.

Josh, how come I get a null reference exception when adding TextInput in the XML?

XML Code:


<Glide Version="1.0">
  <Window Name="win1" X="0" Y="0" Width="320" Height="240" Color="FFFFFF">
    <Button Name="btnTest" X="120" Y="166" Width="80" Height="32" Alpha="255" Text="Button" TextColor="000000" Font="1"/>
    <TextInput Name="textIInput" X="11" Y="10" Width="300" Height="32" Alpha="255" Text="" TextAlign="Left" TextColor="000000" Font="1"/>
    <TextArea Name="textAText" X="10" Y="55" Width="300" Height="100" Alpha="255" Text="This is a TextArea." TextAlign="Left" TextColor="0" Font="1"/>
  </Window>
</Glide>

If I remove the TextInput like below, it works.


<Glide Version="1.0">
  <Window Name="win1" X="0" Y="0" Width="320" Height="240" Color="FFFFFF">
    <Button Name="btnTest" X="120" Y="166" Width="80" Height="32" Alpha="255" Text="Button" TextColor="000000" Font="1"/>

    <TextArea Name="textAText" X="10" Y="55" Width="300" Height="100" Alpha="255" Text="This is a TextArea." TextAlign="Left" TextColor="0" Font="1"/>
  </Window>
</Glide>

What am I doing wrong?

Foekie, If your using the example, in the Program.cs you have to comment out the two lines:

static void InitWin1()
{
    //FancyButton nextBtn = (FancyButton)_windows[0].GetChildByName("nextBtn");
    //nextBtn.TapEvent += new OnTap(OnNextWin);
}

Since nextBtn doesn’t exist, you cannot attach an event to it.

The load manager takes a string or bytes, the choice is yours.

bluestream-tech, the current size is 320x240. There will be an update today that allows you to change screen size. What size are you looking to use?

Thank you for your reply, Josh, but unfortunately that does not fix the null reference exception.

I checked it in the object browser, and it says I need to parse byte[] as parameter.
Please see attachment.

Josh, thank you. :slight_smile:

I updated the files with some changes. Foekie you should try with these…

http://www.ghielectronics.com/glide/

Glide V 0.0.2

  • Uses proper versioning – XML must match.
  • Keyboard now has a 3rd view that contains more symbols.
  • TextArea renamed to TextBlock.
  • TextInput renamed to TextBox.

Glide Designer

  • UI adjustments.
  • Edit Window button allows you to change the window size and color.
  • Xml output has version number.

Josh, this looks really great. Exactly what platforms does it run on?

On platforms with “Bitmap” class, that is devices with few MBs of RAM, like EMX and ChipworkX