Esempio n. 1
0
/*******************************************************************
*
*       _DemoCreateWindow

  Demonstrates the use of WM_CreateWindow
*/
static void _DemoCreateWindow(void) {
  /* Set callback for background window */
  _cbBkWindowOld = WM_SetCallback(WM_HBKWIN, _cbBkWindow);
  /* Create windows */
  _ChangeInfoText("WM_CreateWindow()");
  GUI_Delay(SPEED);
  _hWindow1 = WM_CreateWindow( 50,  70, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow1, 0);
  GUI_Delay(SPEED/3);
  _hWindow2 = WM_CreateWindow(105, 125, 165, 100, WM_CF_SHOW | WM_CF_MEMDEV, _cbWindow2, 0);
  GUI_Delay(SPEED);
}
Esempio n. 2
0
/*******************************************************************
*
*       MainTask
*
********************************************************************
*/
void MainTask_AppCalendar(void)
{
	WM_HWIN hWinCalendar;
	u32 curtimestamp = 0;
	struct tm currUtime;
	
	//Init Time
	curtimestamp = Time_GetRTCTimeByUnix();
	currUtime = Time_ConvUnixToCalendar(curtimestamp);
	cldDate.year = currUtime.tm_year;
	cldDate.month = currUtime.tm_mon+1;
	cldDate.day = currUtime.tm_mday;
	if (currUtime.tm_wday == 0)
		cldDate.weekday = 7;
	else cldDate.weekday = currUtime.tm_wday;

	//GUI_Init();
	hWinCalendar = WM_CreateWindow(320, 0, 320, 240, WM_CF_SHOW, _cbCalendar, 0);
	WM_SetFocus(hWinCalendar);
	_MoveShiftWindow(&hWinCalendar, MEMDEV_ANIMATION_LEFT, WM_Shift_ToLCD, 0);
	WM_EnableMemdev(hWinCalendar);

	_ShowButton(hWinCalendar);
	while (!GUI_CheckCancel(APP_Calendar))
	{
		//GUI_Delay(10);
		GUI_Exec();
		GUI_X_ExecIdle();
	}
	WM_DeleteWindow(hWinCalendar);
	hWinCalendar = 0;
}
Esempio n. 3
0
void MainTask_DeskTop(void)
{
	int i;
	WM_HWIN Win1,Button1,Button2;
	GUI_Init();
	FS_Init();
	AddRelateFile("TXT","文本",_DemoMultiedit);
	AddRelateFile("MP3","音乐",_DemoMp3);
//	ucfs_sim_init();
//	Win1 = WM_CreateWindow(0,0,480,270,WM_CF_SHOW,NULL,0);
	Win1 = WM_CreateWindow(0,0,480,272,WM_CF_SHOW,_cbWindow1,0);	//houhh 20061024...
	
	WM_SelectWindow(Win1);
#if 1
    GUI_SetColor(GUI_WHITE); 
	GUI_SetBkColor(GUI_BLUE);
	GUI_SetFont(&GUI_FontHZ12);		
	GUI_Clear(); 
#endif	
	CreateButton(Win1,pButton,480,272);
	while (1) {
		if (!GUI_Exec())
			GUI_X_ExecIdle();
	}
//	ucfs_sim_deinit();
}
/*********************************************************************
*
*       _DemoHeaderWin
*/
static void _DemoHeaderWin(void) {
  WM_HWIN hWin;
  _ChangeMainText("HEADER control inside a window");
  hWin = WM_CreateWindow(10, 80, 300, 140, WM_CF_SHOW, _cbWindow, 0);
  _hHeader = HEADER_CreateAttached(hWin, 1234, 0);
  _Demo();
  WM_DeleteWindow(hWin);
}
U8 CreateDistortionScreen(void* pPara)
{
	int x,y;
	x=GUI_GetScreenSizeX();
	y=GUI_GetScreenSizeY();
	disIndex = 0;
	hDistortion = WM_CreateWindow(0, 0, x, y, /*WM_CF_SHOW | */WM_CF_MEMDEV, DistortionProc, 0);
	return 0;
}
Esempio n. 6
0
U8 CreateSynthScreen(void* pPara)
{
	int x,y;
	x=GUI_GetScreenSizeX();
	y=GUI_GetScreenSizeY();
	hSynth = WM_CreateWindow(0, 0, x, y, /*WM_CF_SHOW | */WM_CF_MEMDEV, SynthProc, 0);
	CreateMIDIControlScreen(0);
	CreateControlAssignmentsScreen(0);
	CreateVoiceScreen(0);
	return 0;
}
Esempio n. 7
0
/*******************************************************************
*
*       MainTask
*
********************************************************************
*/
void MainTask_AppMenu(void)
{
	WM_HWIN hWinMenu;

	GUI_Init();
	hWinMenu = WM_CreateWindow(0, 0, 320, 240, WM_CF_SHOW, _cbMenu, 0);
	WM_SetFocus(hWinMenu);
	WM_EnableMemdev(hWinMenu);

	while (!GUI_CheckCancel(APP_MainMenu))
	{
		GUI_Delay(10);
	}
	WM_DisableWindow(hWinMenu);
}
/*******************************************************************
*
*       _DemoTransWindow
*/
static void _DemoTransWindow(void) {
  WM_HWIN hTransWin;
  WM_HWIN hFrameWin;

  WM_SetDesktopColor(GUI_RED);
  hTransWin = WM_CreateWindow(10, 10, 72, 52, WM_CF_SHOW | WM_CF_HASTRANS | WM_CF_STAYONTOP, _cbTransWindow, 0);
  hFrameWin = FRAMEWIN_Create("Framewin", 0, WM_CF_SHOW, 100, 70, 120, 100);
  FRAMEWIN_SetActive(hFrameWin, 1);
  FRAMEWIN_SetMoveable(hFrameWin, 1);
  GUI_CURSOR_Show();
  while (1) {
    WM_InvalidateWindow(hTransWin);
    GUI_Delay(20);
  }
}
Esempio n. 9
0
/*
          *****************************************************************
          *                                                               *
          *              WM_Init                                         *
          *                                                               *
          *****************************************************************
*/
void WM_Init(void) {
	if (!_IsInited) {
	  WM_HWIN hWin;
	  NextDrawWin = WM__FirstWin = WM_HWIN_NULL;
	  GUI_Context.WM__pUserClipRect = NULL;
	  WM__NumWindows = WM__NumInvalidWindows =0;
	  /* Make sure we have at least one window. This greatly simplifies the
		  drawing routines as they do not have to check if the window is valid.
	  */
	  hWin = WM_CreateWindow(0, 0, GUI_XMAX, GUI_YMAX, WM_CF_SHOW, cbBackWin, 0);
	  WM_SelectWindow(hWin);
	  WM_Activate();
    _IsInited =1;
	}
}
Esempio n. 10
0
void MainTask_AppCalculator(void)
{
	WM_HWIN hWinCalculator;

	hWinCalculator = WM_CreateWindow(320, 0, 320, 240, WM_CF_SHOW, _cbCalculator, 0);
	WM_SetFocus(hWinCalculator);
	_MoveShiftWindow(&hWinCalculator, MEMDEV_ANIMATION_LEFT, WM_Shift_ToLCD, 0);
	WM_EnableMemdev(hWinCalculator);

	CreateCalculator(hWinCalculator);
	while (!GUI_CheckCancel(APP_Calculator))
	{
		GUI_Delay(10);
	}
	WM_DeleteWindow(hWinCalculator);
	hWinCalculator = 0;
}
/*******************************************************************
*
*       _MoveWindow
*/
static void _MoveWindow(const char* pText) {
  WM_HWIN hWnd;
  int i;
  /* Create foreground window */
  hWnd = WM_CreateWindow(10, 50, 150, 100, WM_CF_SHOW, _cbWindow, 0);
  GUI_Delay(500);
  /* Move foreground window */
  for (i = 0; i < 40; i++) {
    WM_MoveWindow(hWnd, 2, 2);
    GUI_Delay(10);
  }
  /* Show text before deleting window if we have one */
  if (pText) {
    GUI_DispStringAt(pText, 5, 50);
    GUI_Delay(2500);
  }
  /* Delete foreground window */
  WM_DeleteWindow(hWnd);
  WM_Invalidate(WM_HBKWIN);
  GUI_Exec();
}
Esempio n. 12
0
/*******************************************************************
*
*       _DemoScrollbarMove

  This function creates the window and his child objects. Then it
  runs into a idle-loop, so that the window manager can handle the
  objects.
*/
static void _DemoScrollbarMove(void) {
  int x, y;
  WM_HWIN hWindow;
  SCROLLBAR_Handle hScroll;
  /* Clear display and display headline */
  GUI_SetBkColor(GUI_BLUE);
  GUI_Clear();
  GUI_SetColor(GUI_WHITE);
  GUI_SetFont(&GUI_Font24_ASCII);
  GUI_SetTextAlign(GUI_TA_HCENTER);
  GUI_DispStringAt("SCROLLBAR_Move - Sample", 160, 5);
  GUI_SetTextAlign(GUI_TA_LEFT);
  GUI_SetColor(0xFFFFFF);
  GUI_SetFont(&GUI_Font8x16);
  /* Create the window */
  hWindow = WM_CreateWindow(50, 90, 220, 79, WM_CF_SHOW, &_cbWindow, 0);
  /* Create the scrollbar */
  hScroll = SCROLLBAR_CreateAttached(hWindow, 0);
  SCROLLBAR_SetNumItems(hScroll, 48 * EDIT_MAX_X);
  SCROLLBAR_SetPageSize(hScroll, 220);
  /* Create the edit-fields */
  for (y = 0; y < EDIT_MAX_Y; y++) {
    for (x = 0; x < EDIT_MAX_X; x++) {
      _aahEdit[y][x] = EDIT_CreateAsChild(x * 48, y * 22, 48, 22, 
                                        hWindow, 13, WM_CF_SHOW, 5);
      EDIT_SetTextAlign(_aahEdit[y][x], GUI_TA_RIGHT | GUI_TA_VCENTER);
      EDIT_SetFont(_aahEdit[y][x], &GUI_Font8x16);
      EDIT_SetDecMode(_aahEdit[y][x], ((y * EDIT_MAX_X) + x) * 100, -99999, +99999, 2, 0);
	  }
  }
  /* idle-loop */
  while (1) {
    GUI_Exec();
    GUI_Delay(20);
  }
  /* delete window and clear display */
  WM_DeleteWindow(hWindow);
  GUI_Clear();
}
Esempio n. 13
0
File: ipc.c Progetto: berkus/acess2
int IPC_Msg_CreateWin(tIPC_Client *Client, tAxWin_IPCMessage *Msg)
{
	tIPCMsg_CreateWin	*info = (void*)Msg->Data;
	tWindow	*newwin, *parent;

	ASSERT(Msg->ID == IPCMSG_CREATEWIN);

	// - Sanity checks
	//  > +1 is for NULL byte on string
	if( Msg->Size < sizeof(*info) + 1 ) {
		_SysDebug("IPC_Msg_CreateWin: Size check 1 failed");
		return -1;
	}
	if( info->Renderer[Msg->Size - sizeof(*info) - 1] != '\0' ) {
		_SysDebug("IPC_Msg_CreateWin: Size check 2 failed");
		_SysDebug("info = {");
		_SysDebug("  .NewWinID = %i", info->NewWinID);
		_SysDebug("  .RendererArg = %i", info->RendererArg);
		_SysDebug("  .Renderer = '%.*s'", Msg->Size - sizeof(*info), info->Renderer);
		_SysDebug("}");
		return -1;
	}
	
	// - Get the parent window ID
	parent = IPC_int_GetWindow(Client, Msg->Window);

	// Catch creating a window with an existing ID
	if( IPC_int_GetWindow(Client, info->NewWinID) )
		return 1;

	// - Create the new window, and save its pointer
	newwin = WM_CreateWindow(parent, Client, info->NewWinID, info->RendererArg, info->Renderer);
	IPC_int_SetWindow(Client, info->NewWinID, newwin);

	return 0;
}
/*******************************************************************
*
*       _ShowHiResPixels

  This is frame-function for the callback. It creates the window
  and handles the rotation of polygons and colors.
*/
static void _ShowHiResPixels(void) {
    WM_HWIN hWindow;
    const GUI_FONT *font_old;
    float pi, step, angle;
    int i, tm;
    pi = 3.1415926f;
    step = pi / 180;
    GUI_SetBkColor(GUI_BLACK);
    GUI_Clear();
    GUI_SetColor(GUI_WHITE);
    GUI_SetTextAlign(GUI_TA_HCENTER);
    font_old = GUI_SetFont(&GUI_Font24_ASCII);
    GUI_DispStringAt("AA_HiResPixels - Sample", 160, 5);
    GUI_SetFont(font_old);
    GUI_SetColor(GUI_RED);
    GUI_DispStringHCenterAt("not\nantialised", 65, 100);
    GUI_SetColor(GUI_GREEN);
    GUI_DispStringHCenterAt("antialised", 160, 100);
    GUI_SetColor(GUI_BLUE);
    GUI_DispStringHCenterAt("antialised\nwith high\nresolution", 255, 100);
    hWindow = WM_CreateWindow(35, 140, 250, 60, WM_CF_SHOW | WM_CF_MEMDEV, &_cbWindow, 0);
    WM_SelectWindow(hWindow);
    GUI_AA_SetFactor(AA_FACTOR);
    while (1) {
        for (i=0, angle=0; i<360; i++) {
            tm = GUI_GetTime();
            angle += step;
            GUI_RotatePolygon(_aPolygonHiRes, _aPolygonHiRes_src, POLY_POINTS, angle);
            GUI_RotatePolygon(_aPolygon, _aPolygon_src, POLY_POINTS, angle);
            _CalcColor();
            WM_InvalidateWindow(hWindow);
            while (((GUI_GetTime()-tm) < 50) || (WM_Exec1() != 0));
        }
    }
    WM_DeleteWindow(hWindow);
}
Esempio n. 15
0
WM_HWIN WIN_ConfirmCreate(void) {
  WM_HWIN hWin;	
	hWin = WM_CreateWindow(200, 120, 400, 200,WM_CF_SHOW, _cbWindow, 4);
	WM_SetHasTrans(hWin);
  return hWin;
}
Esempio n. 16
0
/*********************************************************************
*
*       CreateWindow
*/
WM_HWIN PrintWinCreate(void) {
		WM_HWIN hWin;
		hWin = WM_CreateWindow(0, 0, 800, 480,WM_CF_SHOW, _cbDialog, 0);
	 hPrintMenu = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_PrintMenu); //主菜单
	 PrintHintText = TEXT_CreateAsChild(40,440,800,40,hWin,ID_PrintText,WM_CF_SHOW,"",TEXT_CF_LEFT);
	 TEXT_SetFont(PrintHintText,&GUI_Font24);
	 //WIDGET_SetEffect(hMenu,&WIDGET_Effect_3D1L);
	 hFre = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Frequency); //频率分类
	 hSite = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Site); //站点分类
	 hInfo = MENU_CreateEx(0,0,0,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Info); //信息分类
	 hSiteSet = MENU_CreateEx(0,0,100,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Site_SiteSet); //站点打印设置
	 hInfoSet = MENU_CreateEx(0,0,100,0,WM_UNATTACHED,WM_CF_SHOW,MENU_CF_VERTICAL,ID_Print_Info_InfoSet); //信息打印设置
	
	//菜单回调
	 WM_SetCallback(hPrintMenu,&MenuCall);
	 WM_SetCallback(hFre,&MenuCall);
	 WM_SetCallback(hSite,&MenuCall);
	 WM_SetCallback(hInfo,&MenuCall);
	 WM_SetCallback(hSiteSet,&MenuCall);
	 WM_SetCallback(hInfoSet,&MenuCall);
	
	//左右间距
		MENU_SetBorderSize(hPrintMenu,MENU_BI_LEFT,20);
		MENU_SetBorderSize(hPrintMenu,MENU_BI_RIGHT,20);
		MENU_SetBorderSize(hFre,MENU_BI_LEFT,20);
		MENU_SetBorderSize(hFre,MENU_BI_RIGHT,20);
		MENU_SetBorderSize(hSite,MENU_BI_LEFT,20);
		MENU_SetBorderSize(hSite,MENU_BI_RIGHT,20);
		MENU_SetBorderSize(hInfo,MENU_BI_LEFT,20);
		MENU_SetBorderSize(hInfo,MENU_BI_RIGHT,20);
		MENU_SetBorderSize(hSiteSet,MENU_BI_LEFT,10);
		MENU_SetBorderSize(hSiteSet,MENU_BI_RIGHT,10);
		MENU_SetBorderSize(hInfoSet,MENU_BI_LEFT,10);
		MENU_SetBorderSize(hInfoSet,MENU_BI_RIGHT,10);
		
		//添加菜单项
		_AddMenuItem(hPrintMenu,   0,        "所有储存信息",        ID_Print_All  ,    0);
		_AddMenuItem(hPrintMenu,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hPrintMenu,   0,        "正在显示的信息",      ID_Print_Showing  ,    0);
		_AddMenuItem(hPrintMenu,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hPrintMenu,   hFre,     "按频率分类打印",      ID_Print_Frequency         ,    0);
		_AddMenuItem(hPrintMenu,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hPrintMenu,   hSite,    "按站点分类打印",      ID_Print_Site              ,    0);
		_AddMenuItem(hPrintMenu,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hPrintMenu,   hInfo,    "按信息分类打印",      ID_Print_Info              ,    0);

		_AddMenuItem(hFre,   0,        "国际频道(518KHz)",       ID_Print_Fre_Int           ,    0);
		_AddMenuItem(hFre,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hFre,   0,        "本地频道I(490KHz)",      ID_Print_Fre_Loc1          ,    0);
		_AddMenuItem(hFre,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hFre,   0,        "本地频道II(4209.5KHz)",  ID_Print_Fre_Loc2          ,    0);
		_AddMenuItem(hFre,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hFre,   0,        "中文频道(486KHz)",       ID_Print_Fre_Chs           ,    0);

		_AddMenuItem(hSite,   0,        "打印",      ID_Print_Site_Prt          ,    0);
		_AddMenuItem(hSite,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hSite,   hSiteSet, "站点设置",  ID_Print_Site_SiteSet      ,    0);

		_AddMenuItem(hSiteSet,   0,        "A打印",      ID_Print_Site_SiteSet_Prt_0   ,    0);
		_AddMenuItem(hSiteSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hSiteSet,   0,        "B打印",      ID_Print_Site_SiteSet_Prt_1  ,    0);
		_AddMenuItem(hSiteSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hSiteSet,   0,        "C打印",      ID_Print_Site_SiteSet_Prt_2  ,    0);
		_AddMenuItem(hSiteSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hSiteSet,   0,        "D打印",      ID_Print_Site_SiteSet_Prt_3  ,    0);
		_AddMenuItem(hSiteSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hSiteSet,   0,        "E打印",      ID_Print_Site_SiteSet_Prt_4  ,    0);

		_AddMenuItem(hInfo,   0,        "打印",      ID_Print_Info_Prt          ,    0);
		_AddMenuItem(hInfo,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hInfo,   hInfoSet, "信息设置",  ID_Print_Info_InfoSet      ,    0);

		_AddMenuItem(hInfoSet,   0,        "A打印",      ID_Print_Info_InfoSet_Prt_0   ,    0);
		_AddMenuItem(hInfoSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hInfoSet,   0,        "B打印",      ID_Print_Info_InfoSet_Prt_1  ,    0);
		_AddMenuItem(hInfoSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hInfoSet,   0,        "C打印",      ID_Print_Info_InfoSet_Prt_2  ,    0);
		_AddMenuItem(hInfoSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hInfoSet,   0,        "D打印",      ID_Print_Info_InfoSet_Prt_3,    0);
		_AddMenuItem(hInfoSet,   0,       0,      0,    MENU_IF_SEPARATOR);  //分割线
		_AddMenuItem(hInfoSet,   0,        "E打印",      ID_Print_Info_InfoSet_Prt_4  ,    0);
	
	
	 MENU_Attach (hPrintMenu,hWin,0,60,0,0,0);
 		WM_SetFocus(hPrintMenu);
//   MENU_SetSel(hMenu, 0);
  return hWin;
}
Esempio n. 17
0
	Window::Window(const wm_WindowInfo &info) :
		id(WM_CreateWindow(info)), owned(true)
	{}
Esempio n. 18
0
/*********************************************************************
*
*       MainTask
*/
void MainTask(void) 
{
		
	GUI_Init();
	
	
	WM_SetDesktopColor(GUI_BLUE);	//!< SetDesktopColor
	
	 /* The First window to display the Temperature Curve */
	{
		hWM_HBKWIN_CURVE =
		WM_CreateWindow(0,0,400,240,WM_CF_SHOW | WM_CF_MEMDEV ,0,0);
		
		btn = 		 BUTTON_CreateAsChild(315, 10, 75, 35,hWM_HBKWIN_CURVE, ID_CURVE_BTN_SWTITCH_2_PARA, WM_CF_SHOW);
		btnClear = BUTTON_CreateAsChild(315, 60, 75, 35,hWM_HBKWIN_CURVE, 202, WM_CF_SHOW);
		
		/** PWM Edit **/
		{
			/* Edit to display the PWM1 */
				Edit_PWM1 = EDIT_CreateEx			 (370, 170, 25, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM1,
																				 3);
				EDIT_SetDecMode(Edit_PWM1,0,0,255,0,0);
				EDIT_SetValue(Edit_PWM1,0);
				
				/* Edit to display the PWM2 */
				Edit_PWM2 = EDIT_CreateEx			 (370, 190, 25, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM2,
																				 3);
				EDIT_SetDecMode(Edit_PWM2,0,0,255,0,0);
				EDIT_SetValue(Edit_PWM2,0);
				
					/* Edit to display the PWM3 */
				Edit_PWM3 = EDIT_CreateEx			 (370, 210, 25, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_PWM3,
																				 3);
				EDIT_SetDecMode(Edit_PWM3,0,0,255,0,0);
				EDIT_SetValue(Edit_PWM3,0);
		}


		
		
		// Set Callback function for background window
		WM_SetCallback(hWM_HBKWIN_CURVE, _cbBk);
	}
		
	{
		hWM_HBKWIN_CFG_PID =
		WM_CreateWindow(0,0,400,240,WM_CF_HIDE | WM_CF_MEMDEV ,0,0); //Add the | WM_CF_MEMDEV flah
		
	

		btn1 			= BUTTON_CreateAsChild(320, 30 , 60, 35,hWM_HBKWIN_CFG_PID, ID_CFG_PID_BTN_SWTITCH_2_CURVE, WM_CF_SHOW);
		btnClear1 = BUTTON_CreateAsChild(320, 75, 60, 35,hWM_HBKWIN_CFG_PID, 203, WM_CF_SHOW);
		BUTTON_SetText(btn1,"PID_Set");
		BUTTON_SetText(btnClear1,"Back");
		
		BUTTON_SetText(btn     ,"Running");
		BUTTON_SetText(btnClear,"PID_Set");
	

		WM_SetCallback(hWM_HBKWIN_CFG_PID, _cbBk_CFG_PID);
	}
	

	
	//!< Create a graph widget
	{
		hGraph = GRAPH_CreateEx(8, 10, 300, 220, hWM_HBKWIN_CURVE, WM_CF_SHOW | WM_CF_CONST_OUTLINE | WM_CF_MEMDEV_ON_REDRAW , 0, 100);
		//GRAPH_DATA_YT_MirrorX(hGraph , 1);
		
		//!< Create a YT_data 
		hData  = GRAPH_DATA_YT_Create(GUI_BLUE, 292,0, 0); // Set the	MaxItemNum to 0	
		hData2 = GRAPH_DATA_YT_Create(GUI_RED,292,0,0);
		
		GRAPH_AttachData(hGraph, hData); //!< Attach the data to graph
		GRAPH_AttachData(hGraph, hData2); //!< Attach the data to graph
		
	}
	
	WM_ShowWindow(hWM_HBKWIN_CURVE);
	WM_HideWindow(hWM_HBKWIN_CFG_PID);
/*
	WM_BringToTop(hWM_HBKWIN);
	WM_BringToBottom(hWM_HBKWIN_CFG_PID);
	WM_MoveTo(hWM_HBKWIN_CFG_PID,400,240);
	WM_ResizeWindow(hWM_HBKWIN_CFG_PID,1,1);
*/	
	#ifdef PWM_TEXT		
			/** PWM Text **/
		{
			/* Edit to display the PWM1 */
				Text_PWM1 = TEXT_CreateEx			 (310, 170, 30, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM1,
																				 "PMW1");				
				/* Edit to display the PWM2 */
				Text_PWM2 = TEXT_CreateEx			 (310, 190, 30, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM2,
																				 "PWM2");
					/* Edit to display the PWM3 */
				Text_PWM3 = TEXT_CreateEx			 (310, 210, 30, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_TXT_PWM3,
																				 "PWM3");
		}
#endif
		
#ifdef EDIT_AD		
	 {
				/* Edit to display the AD1 */
				Edit_AD1 = EDIT_CreateEx			 (350, 120, 35, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD1,
																				 5);
				EDIT_SetDecMode(Edit_AD1,0,0,4095,0,0);
				EDIT_SetValue(Edit_AD1,0);
				
				/* Edit to display the AD2 */
				Edit_AD2 = EDIT_CreateEx			 (350, 140, 35, 20,hWM_HBKWIN_CURVE, 
																				 WM_CF_SHOW,EDIT_CF_HCENTER | EDIT_CF_VCENTER,ID_CFG_PID_EDT_AD2,
																				 5);
				EDIT_SetDecMode(Edit_AD2,0,0,4095,0,0);
				EDIT_SetValue(Edit_AD2,0);
		 

				EDIT_SetFloatMode(
													Edit_AD1,1.0,
													0.0,99.9,1,/*1 bit after dot*/
													0
													);
				EDIT_SetFloatMode(
													Edit_AD2,0.0,
													0.0,99.9,1,/*1 bit after dot*/
													0
													);
	 }
#endif		

	//!< Graph configuration
	{
		hScale = GRAPH_SCALE_Create(28, GUI_TA_RIGHT, GRAPH_SCALE_CF_VERTICAL, 20);
		GRAPH_SCALE_SetTextColor(hScale,GUI_GREEN);
		GRAPH_SCALE_SetFactor(hScale,0.5);
		GRAPH_SCALE_SetNumDecs(hScale,1);
		GRAPH_AttachScale(hGraph, hScale);
		
		GRAPH_SetGridDistX(hGraph,0); // Hide the X Grid
		GRAPH_SetGridDistY(hGraph,20);	
		GRAPH_SetGridVis(hGraph,1);  //!< Display the Grid
		
		GRAPH_SetBorder(hGraph,30,5,5,5);  //!< Set the frame border 
		
		//GRAPH_SetGridFixedX(hGraph,1);
		//GRAPH_SetVSizeX(hGraph,500);  //加入此会导致死掉 程序卡死在获取此指针上面.
		//GRAPH_SetGridFixedY(hGraph,1);
		GRAPH_SetColor(hGraph,GUI_BLUE,GRAPH_CI_BORDER);
		GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_BK);
		GRAPH_SetColor(hGraph,GUI_WHITE,GRAPH_CI_FRAME);

	}	
	/* Button Configuration */
	{
	
		BUTTON_SetBkColor(btn,BUTTON_CI_UNPRESSED,GUI_LIGHTBLUE);
		BUTTON_SetBkColor(btn,BUTTON_CI_PRESSED,GUI_RED);
			
		BUTTON_SetFocusColor(btn,GUI_YELLOW);	
	}
			
  while(1) 
	{
		GUI_Exec();	

	 	OSTimeDlyHMSM(0,0,0,50);
//#define DRAWPOINT
#ifdef DRAWPOINT
		
		itoa(usValue, buf, 10);
		BUTTON_SetText(btn,buf);

	//	GRAPH_DATA_YT_AddValue(hData,usValue/20);
#endif		
	}
}
Esempio n. 19
0
/*********************************************************************
*
*       CreateWindow
*/
WM_HWIN CheckWinCreate(void) {
   WM_HWIN hWin;
	
	  hWin = WM_CreateWindow(0, 0, 800, 480,WM_CF_SHOW, _cbDialog, 0);
  return hWin;
}