Seeduino TFT LCD touch shield GUI example?

I am getting into the arduino. A friend of mine and I have been tinkering for a few weekends now but we still haven't found a good example of a menu sketch. I have seen a few on youtube and elsewhere but no actual code to copy and see how its running. I have a larger project planned to use my arduino however I need to get the "GUI" working first. Any ideas where a guy can gind some of these example codes would be much appriciated.

https://code.google.com/p/touch-screen-menu-library/
This guy wrote a GUI library for the Seeed touch shield. It may be what you are looking for.

Here is a sketch that a coworker of mine wrote. It is a set of 2 pages of buttons, with the button functions being definable. The last button on each page is set up to navigate between the two pages. It's a pretty simple example that he wrote to help me understand the basics of building a gui. For some reason the code button isn't working for me in the WYSIWYG editor after the server migration tonight, but that is another story. Here is the code:

#include <stdint.h>
#include <TouchScreen.h>
#include <TFT.h>

//Initialize TouchScreen
TouchScreen ts = TouchScreen();
unsigned int pCount=0 ; // release count for touch
boolean Pressed=false;
int thisone =0; // last button pressed (0 if not a button)

// define button type
struct Button{
byte page; // page button is displayed on 0-255
String caption; // Button text
unsigned int x; // x position of button
unsigned int y; // y position
unsigned int width;
unsigned int height;
unsigned int foreColor;
unsigned int backColor;
unsigned int charSize ; // char size
};

// add as many buttons as needed.. each button added will be assigned the number
// in the order it appears int the following list.
// {page,"caption",x,y,width,height,foreColor,backColor,charSize)
Button button[]={ {0,""},

{1, "Button1", 0,0, 982,35,WHITE,BLUE,2}, //button1 page1
{1, "Button2", 0,40, 144,35,WHITE,BLUE,2}, //button2
{1, "Button3", 0,80, 144,35,WHITE,BLUE,2}, //button3
{1, "Button4", 0,120, 144,35,WHITE,BLUE,2}, //button4
{1, "Next",0, 320-40, 144,35,WHITE,RED,2}, //button5

{2, "B1", 40,0, 70,35,WHITE,BLUE,2}, //button6 page2
{2, "B2", 40,40, 70,35,WHITE,BLUE,2}, //button7
{2, "B3", 40,80, 70,35,WHITE,BLUE,2}, //button8
{2, "B4", 40,120, 70,35,WHITE,BLUE,2}, //button9
{2, "Last", 0,280, 144,35,WHITE,RED,2}, //button10

};

byte myPage =1; // current display page

void setup(void) {

//Serial.begin(9600);
Tft.init();
Tft.rotateScreen(0);
Tft.stringBackColor(RED);
Tft.stringForeColor(WHITE);
drawButtons();
//Tft.paintScreen(BLUE);
}

void loop(){

//************************* Test for press *******************
Point p = ts.getSPoint();
if (p.z >0) {
if (Pressed==false){
thisone = testButtons(p.x,p.y);
if (thisone != 0) {
pressButton(thisone);
//do button pressed stuff (dont forget to release unless redrawing)
}
}
Pressed=true;
pCount=0;
}else{
if (Pressed==true){
pCount=pCount+1;
if (pCount>50){
Pressed=false;
if (thisone != 0){
releaseButton(thisone);

doButtonStuff(thisone);
//do release button stuff
}
}
}
}
//************************* End Test for press *******************

}

int doButtonStuff(int thisone){

if (thisone==5){ // next on page 1 (button5)
myPage=2; //change page
drawButtons(); //Draw it
}

if (thisone==10){ // Last on page 2 (button10)
myPage=1; //change page
drawButtons(); //Draw it
}

}

void drawButtons (){
Tft.paintScreen(BLACK);
int r=1;
while (button[r].page !=0 ){
if (button[r].page == myPage){
int xOff = (button[r].width/2) -((button[r].caption.length()8button[r].charSize)/2)+button[r].x;
int yOff = (button[r].height/2)-(button[r].charSize*8/2)+button[r].y;
Tft.fillRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].backColor);
Tft.drawRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].foreColor);
Tft.drawString(button[r].caption,xOff,yOff,button[r].charSize,button[r].foreColor);
}
r++;
}
}
int testButtons(unsigned int x, unsigned int y){
int r=1;
while (button[r].page !=0 ){
if (button[r].page==myPage){
if ((x>=button[r].x) && (x<=(button[r].x+button[r].width)) && (y>=button[r].y) && (y<=(button[r].y+button[r].height))){

return r;
}
}
r++;
}
return 0;
}
void pressButton(int r){
int xOff = (button[r].width/2) -((button[r].caption.length()8button[r].charSize)/2)+button[r].x;
int yOff = (button[r].height/2)-(button[r].charSize*8/2)+button[r].y;
Tft.fillRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].foreColor);
Tft.drawRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].backColor);
Tft.drawString(button[r].caption,xOff,yOff,button[r].charSize,button[r].backColor);

}void releaseButton(int r){
int xOff = (button[r].width/2) -((button[r].caption.length()8button[r].charSize)/2)+button[r].x;
int yOff = (button[r].height/2)-(button[r].charSize*8/2)+button[r].y;

Tft.fillRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].backColor);
Tft.drawRectangle(button[r].x,button[r].y,button[r].width,button[r].height,button[r].foreColor);
Tft.drawString(button[r].caption,xOff,yOff,button[r].charSize,button[r].foreColor);
}

btw, this code was also set up to run on the seeed 2.8" tft

sorry for the long reply but yes this looks good.