⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menu.h

📁 模糊聚类的算法实现程序
💻 H
字号:
//**************************************************************//*   filename: menu.h                                         *//*                                                            *//**************************************************************//* programmed by: Thomas Wagner                               *//* last change:  (XXX: not updated)                           *//**************************************************************#include <stdio.h>#include <stdlib.h>#include <X11/Xlib.h>class Menu;class MenuIcon;class PulldownMenu;#ifndef MENU_H#define MENU_H#include "icon.h"#define MINMENUWIDTH        10#define MENUVERTDISTANCE     2#define MENUBORDER           1#define MENUHORIZONTALSPACE 10#define MENUEBORDERWIDTH     1#define MARKSIZE            12#define PULLDOWNBORDER       2// defines for Menu.status#define MENUSTATUS_DEFAULT         0#define MENUSTATUS_SELECTED       (1<<0)// defines for MenuIcon.status#define STATUS_DEFAULT       0#define STATUS_CENTER       (1<<0)#define STATUS_UNSELECTABLE (1<<1)#define STATUS_TOP          (1<<2)#define STATUS_MARKED       (1<<3)#define STATUS_MARKABLE     (1<<4)#define STATUS_SELECTED     (1<<5)#define STATUS_MAPPED         (1<<6)typedef struct MenuIconInfo {  char *bartext;  int barstatus;  int actionnumber, value;} MenuIconInfo;class MenuIcon:  public Icon{  BigWindow *menuparentwindow;  Window_Info *parent;  short textx, texty;  int actionnumber, value;  PulldownMenu *sonpulldownmenu;    public:    MenuIcon (Display * initdisplay,	      GC initgc,	      BigWindow * initMenuParentWindow,	      Window_Info * Parentwindow,	      XFontStruct * fontstruct,	      int initx, int inity,	      int initwidth, int initheight,	      MenuIconInfo * Infos);    virtual ~ MenuIcon ();  virtual void HandleEvent (XEvent * Event);  virtual void UnmapMe () {    XUnmapWindow (display, window);    status &= ~STATUS_MAPPED;  } virtual void MapMe () {    XMapWindow (display, window);    status |= STATUS_MAPPED;  } void AddMenuStatus (int addstatus);  void DelMenuStatus (int delstatus);  inline unsigned short GetActionnumber () {    return actionnumber;  } void SetSonPulldownMenu (PulldownMenu * setpulldownmenu);  PulldownMenu *GetPulldownMenu ();  PulldownMenu *GetSonPulldownMenu () {    return sonpulldownmenu;  } void DrawMenuIcon ();    protected:  void Changetomarked ();};class Menu:  public Window_Info{  unsigned short status;  BigWindow *parentwindow;  Pixmap pixmap, markpixmap;  MenuIcon **menuicons;  unsigned short pulldownnumber;    public:    Menu (Display * initdisplay,	  GC initgc,	  BigWindow * ParentWindow,	  XFontStruct * fontstruct,	  int initx, int inity);    virtual ~ Menu ();  virtual void HandleEvent (XEvent * Event);  void DrawMenu ();  Pixmap Getmarkpixmap () {    return markpixmap;  } void MakeUnselectable ();  void MakeSelectable ();  void PlaceMe (unsigned short newx, unsigned short newy);  void AddPulldownMenu (MenuIconInfo * Infos,			unsigned short number);  void AddMenuStatus (int addstatus, int menuidentifier);  void DelMenuStatus (int addstatus, int menuidentifier);  void MapmyPulldownMenu (MenuIcon * my);  void UnmapallPulldownMenus ();  void SelectMe () {    status |= MENUSTATUS_SELECTED;  } void UnselectMe () {    status &= ~MENUSTATUS_SELECTED;  } int IsSelected () {    return status & MENUSTATUS_SELECTED;  } PulldownMenu *GetPulldownMenu (short index);};class PulldownMenu:  public Window_Info{  unsigned short iconnumber;  MenuIcon **menuicons;  BigWindow *parentwindow;  Menu *parentmenu;  Pixmap pixmap;    public:    PulldownMenu (Display * initdisplay,		  GC initgc,		  BigWindow * ParentWindow,		  Menu * ParentMenu,		  XFontStruct * fontstruct,		  int initx, int inity,		  int initwidth,		  MenuIconInfo * Infos,		  unsigned short number);    virtual ~ PulldownMenu ();  virtual void HandleEvent (XEvent * Event);  BigWindow *GetParentwindow () {    return parentwindow;  } Menu *GetParentmenu () {    return parentmenu;  } virtual void UnmapMe ();  virtual void MapMe ();  void EnteredMe (MenuIcon * me);  unsigned short Geticonnumber () {    return iconnumber;  } virtual void MoveMe (short xdiff, short ydiff);  MenuIcon *GetMenuIcon (unsigned short number) {    return (menuicons[number]);  }};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -