📄 moveicon.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 + -