gps/GPSResources/tcpmpVerOld/interface/win.h

129 lines
3.4 KiB
C
Executable File

/*****************************************************************************
*
* This program is free software ; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* $Id: win.h 271 2005-08-09 08:31:35Z picard $
*
* The Core Pocket Media Player
* Copyright (c) 2004-2005 Gabor Kovacs
*
****************************************************************************/
#ifndef __WIN_H
#define __WIN_H
#define WIN_CLASS FOURCC('W','I','N','_')
#define WIN_ICON 1000
#define INTERFACE_ID FOURCC('I','N','T','F')
#define PROPSIZE 11
#define LABEL_BOLD 1
#define LABEL_CENTER 2
#define MENU_SMALL 0x0100
#define MENU_GRAYED 0x0200
#define MENU_NOTSMALL 0x0400
#define MENU_ADV 0x0800
#define WIN_DIALOG 0x0001
#define WIN_2BUTTON 0x0002
#define WIN_NOMENU 0x0004
#define WIN_BOTTOMTOOLBAR 0x0008
#define WIN_NOTABSTOP 0x0010
#define WIN_PROP_SOFTRESET 0x10000
#define WIN_PROP_RESTART 0x20000
#define WIN_PROP_RESYNC 0x40000
#define WIN_PROP_CHANGED 0x80000
typedef struct menudef
{
int Level;
int Class;
int Id;
int Flags;
} menudef;
#define MENUDEF_END { -1 }
typedef int winunit;
typedef struct win win;
typedef struct wincontrol wincontrol;
typedef int (*winpopup)(win*,win* Parent);
typedef int (*wincommand)(win*,int Command);
#if defined(TARGET_PALMOS)
#include "palmos/win_palmos.h"
#elif defined(TARGET_WINCE) || defined(TARGET_WIN32)
#include "win32/win_win32.h"
#else
#error Not supported platform
#endif
struct win
{
node Node;
nodefunc Init;
nodefunc Done;
wincommand Command;
winhandler Handler;
winpopup Popup;
int Flags;
winunit WinWidth;
winunit WinHeight;
winunit LabelWidth; // for prop dialog
const menudef* MenuDef;
int Result;
win* Parent;
win* Child;
wincontrol* Focus;
wincontrol* Controls;
winunit ScreenWidth;
WINPRIVATE
};
void Win_Init();
void Win_Done();
int WinPopupClass(int Class,win* Parent);
wincontrol* WinPropLabel(win*, winunit* Top, const tchar_t* LockedMsg, const tchar_t* Value);
wincontrol* WinPropValue(win*, winunit* Top, node* Node, int No);
wincontrol* WinPropNative(win*, node* Node, int No);
void WinPropFocus(win*, node* Node, int No, bool_t SetFocus);
void WinPropUpdate(win*, node* Node, int No);
wincontrol* WinLabel(win*,winunit* Top,winunit Left,winunit Width,const tchar_t* LockedMsg,int FontSize,int Flags,wincontrol* Ref);
void WinMenuInsert(win*,int No,int PrevId,int Id,const tchar_t* LockedMsg);
int WinMenuFind(win*,int Id);
bool_t WinMenuDelete(win*,int No,int Id);
bool_t WinMenuCheck(win*,int No,int Id,bool_t);
bool_t WinMenuEnable(win*,int No,int Id,bool_t);
void WinBeginUpdate(win*);
void WinEndUpdate(win*);
void WinTitle(win*,const tchar_t* LockedMsg);
int WinClose(win*);
#endif