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

📄 moveicon.h

📁 模糊聚类分析的源程序!
💻 H
字号:
//**************************************************************//*   filename: moveicon.h                                     *//*                                                            *//**************************************************************//* programmed by: Thomas Wagner                               *//* last change:  (XXX: not updated)                           *//**************************************************************#include <stdio.h>#include <stdlib.h>#include <X11/Xlib.h>class MoveableIconlist;class MoveableIcon;class InputIcon;class ClusterIcon;class RuleIcon;class ClassifyIcon;#ifndef MOVEICON_H#define MOVEICON_H#include "connect.h"#include "mainwindow.h"#include "window.h"#include "output.h"#include "selectwindow.h"enum ICONTYPE {  MOVEABLEICONTYP_INPUT,  MOVEABLEICONTYP_CLUSTER,  MOVEABLEICONTYP_RULE,  MOVEABLEICONTYP_CLASSIFY};enum ICONACTIONS {  ICON_NOACTION,  ICON_REMOVECONNECTIN,  ICON_REMOVECONNECTOUT,  ICON_REQUESTFORDATASET,  ICON_SENDINGDATASET,  ICON_REQUESTFORCLUSTERING,  ICON_REQUESTFORDVECTOR,  ICON_SENDINGDVECTOR,  ICON_SENDINGDATASETNAME,  ICON_REQUESTFORINDEX,  ICON_SENDINGINDEX,  ICON_DATASETMODIFIED,  ICON_DATASETCLASSIFIED,  ICON_REQUESTFORRULERESULTS,  ICON_REQUESTFORCLASSIFYRESULTS,  ICON_RULERESULTSCHANGED,  ICON_CLASSIFYRESULTSCHANGED,  ICON_SEARCHFORCIRCLE};#define MOVEABLEICON_WIDTH         30#define MOVEABLEICON_HEIGHT        30class MoveableIconlist{  MoveableIconlist *next;  MoveableIconlist *first;  MoveableIcon *moveableicon;    public:    MoveableIconlist ();   ~MoveableIconlist ();  void operator += (MoveableIcon * NewIcon);  void operator -= (MoveableIcon * DeleteIcon);  MoveableIcon *GetIcon () {    return moveableicon;  } MoveableIconlist *Getnext () {    return next;  }};class MoveableIcon:  public Icon{  protected:  MainWindow * Mainwindow;  Connection *In;  Connectlist *Outputs;    public:    MoveableIcon (Display * initdisplay,		  GC initgc,		  XFontStruct * fontstruct,		  MainWindow * initMainwindow,		  int initx, int inity, int initwidth, int initheight,		  char *text);    virtual ~ MoveableIcon ();  virtual void HandleEvent (XEvent * Event);  virtual void Action (int actionnumber, int value) = NULL;  virtual void DrawMoveableIcon () = NULL;  virtual void Doubleclicked () = NULL;  virtual void Pressedbutton3 () = NULL;  virtual void Connectin (Connection * acuteconnection) = NULL;  virtual void Connectout (Connection * acuteconnection) = NULL;  virtual void ChangeConnectin (Connection * acuteconnection) = NULL;  virtual void ChangeConnectout (Connection * acuteconnection) = NULL;  virtual ICONTYPE GetTyp () = NULL;	//{;}  Connection *GetInputConnection () {    return In;  } Connectlist *GetOutputConnectlist () {    return Outputs;  } void SetOutputConnectlist (Connectlist * newlist) {    Outputs = newlist;  } void SetInputConnect (Connection * newin) {    In = newin;  } MainWindow *GetMainwindow () {    return Mainwindow;  } void CenterConnections ();};class InputIcon:  public MoveableIcon{  InOutput *InOutputwindow;    public:    InputIcon (Display * initdisplay,	       GC initgc,	       XFontStruct * fontstruct,	       MainWindow * initMainwindow,	       int initx, int inity,	       int initwidth, int initheight,	       char *text);    virtual ~ InputIcon ();  virtual void Action (int actionnumber, int value);  virtual void Doubleclicked ();  virtual void Pressedbutton3 () {;  } virtual void Connectin (Connection * acuteconnection);  virtual void Connectout (Connection * acuteconnection);  virtual void ChangeConnectin (Connection * acuteconnection);  virtual void ChangeConnectout (Connection * acuteconnection);  virtual void DrawMoveableIcon ();  virtual InOutput *GetOutput () {    return InOutputwindow;  } virtual ICONTYPE GetTyp () {    return MOVEABLEICONTYP_INPUT;  }};class ClusterIcon:  public MoveableIcon{  char *indextext;  ClusterOutput *ClusterOutputwindow;    public:    ClusterIcon (Display * initdisplay,		 GC initgc,		 XFontStruct * fontstruct,		 MainWindow * initMainwindow,		 int initx, int inity,		 int initwidth, int initheight,		 char *text,		 ClusterInfo * values);//              Clustering *theclustering);    virtual ~ ClusterIcon ();  virtual void Action (int actionnumber, int value);  virtual void Doubleclicked ();  virtual void Pressedbutton3 ();  virtual void Connectin (Connection * acuteconnection);  virtual void Connectout (Connection * acuteconnection);  virtual void ChangeConnectin (Connection * acuteconnection);  virtual void ChangeConnectout (Connection * acuteconnection);  virtual void DrawMoveableIcon ();  void SetIconname (char *newtext);  virtual ClusterOutput *GetOutput () {    return ClusterOutputwindow;  } virtual ICONTYPE GetTyp () {    return MOVEABLEICONTYP_CLUSTER;  }};class RuleIcon:  public MoveableIcon{  RuleOutput *RuleOutputwindow;  short index;    public:    RuleIcon (Display * initdisplay,	      GC initgc,	      XFontStruct * fontstruct,	      MainWindow * initMainwindow,	      int initx, int inity,	      int initwidth, int initheight,	      char *text,	      RuleInfo * ruleinfo);    virtual ~ RuleIcon ();  virtual void Action (int actionnumber, int value);  virtual void Doubleclicked ();  virtual void Pressedbutton3 () {;  } virtual void Connectin (Connection * acuteconnection);  virtual void Connectout (Connection * acuteconnection);  virtual void ChangeConnectin (Connection * acuteconnection);  virtual void ChangeConnectout (Connection * acuteconnection);  virtual void DrawMoveableIcon ();  virtual RuleOutput *GetOutput () {    return RuleOutputwindow;  } virtual ICONTYPE GetTyp () {    return MOVEABLEICONTYP_RULE;  } inline short GetIndex () {    return index;  } inline void SetIndex (short newindex) {    if (newindex != index) {      index = newindex;      DrawMoveableIcon ();    }  }};class ClassifyIcon:  public MoveableIcon{  ClassifyOutput *ClassifyOutputwindow;  short index;    public:    ClassifyIcon (Display * initdisplay,		  GC initgc,		  XFontStruct * fontstruct,		  MainWindow * initMainwindow,		  int initx, int inity,		  int initwidth, int initheight,		  char *text,		  RuleInfo * ruleinfo);    virtual ~ ClassifyIcon ();  virtual void Action (int actionnumber, int value);  virtual void Doubleclicked ();  virtual void Pressedbutton3 () {;  } virtual void Connectin (Connection * acuteconnection);  virtual void Connectout (Connection * acuteconnection);  virtual void ChangeConnectin (Connection * acuteconnection);  virtual void ChangeConnectout (Connection * acuteconnection);  virtual void DrawMoveableIcon ();  virtual ClassifyOutput *GetOutput () {    return ClassifyOutputwindow;  } virtual ICONTYPE GetTyp () {    return MOVEABLEICONTYP_CLASSIFY;  } inline short GetIndex () {    return index;  } inline void SetIndex (short newindex) {    if (newindex != index) {      index = newindex;      DrawMoveableIcon ();    }  }};#endif

⌨️ 快捷键说明

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