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

📄 qt_spec.cpp

📁 Linux/windows 环境下跨平台开发程序
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	OutputClass = o;	BaseObj = g;	setMinimumSize(100, 80);	setBackgroundMode(NoBackground);	HScroll = new QScrollBar(QScrollBar::Horizontal, this, 0);	HScroll->setRange(0, 1000);	HScroll->setSteps(1, 16);	connect(HScroll, SIGNAL(valueChanged(int)), SLOT(hScrollEvent(int)));	VScroll = new QScrollBar(QScrollBar::Vertical, this, 0);	VScroll->setRange(0, 1000);	VScroll->setSteps(1, 16);	connect(VScroll, SIGNAL(valueChanged(int)), SLOT(vScrollEvent(int)));	if(!MainWidget) QAppl->setMainWidget(MainWidget = this);	setMouseTracking(true);	setFocusPolicy(StrongFocus);}RLPwidget::~RLPwidget(){	if(OutputClass)((OutputQT*)OutputClass)->widget = 0L;
	OutputClass = 0L;
	if(BaseObj){
		BaseObj->Command(CMD_CAN_DELETE, 0L, 0L);
		BaseObj = 0L;
		}}//public slots: menu items, eventsvoidRLPwidget::hScrollEvent(int pos){	if(BaseObj){		BaseObj->Command(CMD_SETHPOS, (void*)(&pos), OutputClass);		repaint();		}}voidRLPwidget::vScrollEvent(int pos){	if(BaseObj){		BaseObj->Command(CMD_SETVPOS, (void*)(&pos), OutputClass);		repaint();		}}voidRLPwidget::cmOpen(){	if(BaseObj)BaseObj->Command(CMD_OPEN, (void *)NULL, OutputClass);}voidRLPwidget::cmSaveDataAs(){	if(BaseObj)BaseObj->Command(CMD_SAVEDATAAS, (void *)NULL, OutputClass);}voidRLPwidget::cmExit(){	if(BaseObj) {
		if(BaseObj->Command(CMD_CAN_CLOSE, 0L, 0L)){
			BaseObj = 0L;
			delete this;
			}
		}
	else delete(this);}voidRLPwidget::cmNewGraph(){	if(BaseObj)BaseObj->Command(CMD_NEWGRAPH, (void *)NULL, OutputClass);}voidRLPwidget::cmNewPage(){	if(BaseObj)BaseObj->Command(CMD_NEWPAGE, (void *)NULL, OutputClass);}voidRLPwidget::cmDelGraph(){	if(BaseObj)BaseObj->Command(CMD_DELGRAPH, (void *)NULL, OutputClass);}voidRLPwidget::cmAddPlot(){	if(BaseObj)BaseObj->Command(CMD_ADDPLOT, (void *)NULL, OutputClass);}voidRLPwidget::cmAddLegend(){	if(BaseObj)BaseObj->Command(CMD_LEGEND, (void *)NULL, OutputClass);}

void
RLPwidget::cmLayers()
{
	if(BaseObj)BaseObj->Command(CMD_LAYERS, (void *)NULL, OutputClass);
}voidRLPwidget::cmAbout(){	RLPlotInfo();}voidRLPwidget::cmAddRowCol(){	if(BaseObj)BaseObj->Command(CMD_ADDROWCOL, (void *)NULL, OutputClass);}voidRLPwidget::cmCopy(){	if(BaseObj && BaseObj->Id == GO_SPREADDATA) {		if(BaseObj->Command(CMD_QUERY_COPY, 0L, OutputClass))			CopyData(BaseObj);		}}voidRLPwidget::cmCut(){	if(BaseObj && BaseObj->Id == GO_SPREADDATA) {		BaseObj->Command(CMD_CUT, 0L, OutputClass);		CopyData(BaseObj);		}}voidRLPwidget::cmPaste(){	if(BaseObj) {		OutputClass->MouseCursor(MC_WAIT, true);		TestClipboard(BaseObj);		OutputClass->MouseCursor(MC_ARROW, true);		}}voidRLPwidget::cmCopyGraph(){	if(BaseObj) CopyGraph(BaseObj);}voidRLPwidget::cmSaveGraphAs(){	SaveGraphAs(BaseObj);}voidRLPwidget::cmRedraw(){	if(OutputClass && BaseObj && OutputClass->Erase(defs.Color(COL_BG))) {		BaseObj->Command(CMD_SETSCROLL, 0L, OutputClass);		repaint();		}}voidRLPwidget::cmZoom25(){	BaseObj->Command(CMD_ZOOM, (void*)(&"25"), OutputClass);}voidRLPwidget::cmZoom50(){	BaseObj->Command(CMD_ZOOM, (void*)(&"50"), OutputClass);}voidRLPwidget::cmZoom100(){	BaseObj->Command(CMD_ZOOM, (void*)(&"100"), OutputClass);}voidRLPwidget::cmZoom200(){	BaseObj->Command(CMD_ZOOM, (void*)(&"200"), OutputClass);}voidRLPwidget::cmZoom400(){	BaseObj->Command(CMD_ZOOM, (void*)(&"400"), OutputClass);}voidRLPwidget::cmZoomIn(){	BaseObj->Command(CMD_ZOOM, (void*)(&"+"), OutputClass);}voidRLPwidget::cmZoomOut(){	BaseObj->Command(CMD_ZOOM, (void*)(&"-"), OutputClass);}voidRLPwidget::cmZoomFit(){	BaseObj->Command(CMD_ZOOM, (void*)(&"fit"), OutputClass);}voidRLPwidget::cmPrint(){	int m;	PrintQT out(0L, 0L);	if(!BaseObj) return;	if(BaseObj->Id == GO_SPREADDATA) {		m = iround(out.hres/60.0);#ifdef Q_CHECK_PTR				//Qt version 3, n.a. in version 2		out.printer->setMargins(m, m, m, m);#endif		BaseObj->Command(CMD_PRINT, 0L, &out);		}	else if(out.StartPage()){		BaseObj->DoPlot(&out);		out.EndPage();		}	BaseObj->DoPlot(OutputClass);}voidRLPwidget::cmExport(){	OpenExportName(BaseObj, "hello.svg");	BaseObj->DoPlot(0L);}voidRLPwidget::cmDelObj(){	if(CurrGO && CurrGO->parent && CurrGO->parent->		Command(CMD_DELOBJ, (void*)CurrGO, OutputClass)) {		CurrGO = 0L;		OutputClass->Erase(defs.Color(COL_BG));		BaseObj->DoPlot(OutputClass);		}	else if(!CurrGO) InfoBox("No object selected!");}voidRLPwidget::cmUpdate(){	if(BaseObj) BaseObj->Command(CMD_UPDATE, 0L, OutputClass);}voidRLPwidget::cmDefaults(){	BaseObj->Command(CMD_CONFIG, 0L, OutputClass);}voidRLPwidget::cmAddAxis(){	BaseObj->Command(CMD_ADDAXIS, 0L, OutputClass);}voidRLPwidget::cmUndo(){	BaseObj->Command(CMD_UNDO, 0L, OutputClass);}voidRLPwidget::cmFillRange(){	BaseObj->Command(CMD_FILLRANGE, 0L, OutputClass);}

void
RLPwidget::cmInsRow()
{
	BaseObj->Command(CMD_INSROW, 0L, OutputClass);
}
void
RLPwidget::cmInsCol()
{
	BaseObj->Command(CMD_INSCOL, 0L, OutputClass);
}

void
RLPwidget::cmDelRow()
{
	BaseObj->Command(CMD_DELROW, 0L, OutputClass);
}

void
RLPwidget::cmDelCol()
{
	BaseObj->Command(CMD_DELCOL, 0L, OutputClass);
}
void ToolMenu(GraphObj *b, anyOutput *o, int tm){	if(b && o) b->Command(CMD_TOOLMODE, (void*)(& tm), o);}voidRLPwidget::cmtStandard(){	ToolMenu(BaseObj, OutputClass, TM_STANDARD);}voidRLPwidget::cmtDraw(){	ToolMenu(BaseObj, OutputClass, TM_DRAW);}voidRLPwidget::cmtPolyline(){	ToolMenu(BaseObj, OutputClass, TM_POLYLINE);}voidRLPwidget::cmtPolygon(){	ToolMenu(BaseObj, OutputClass, TM_POLYGON);}voidRLPwidget::cmtRectangle(){	ToolMenu(BaseObj, OutputClass, TM_RECTANGLE);}voidRLPwidget::cmtRoundrect(){	ToolMenu(BaseObj, OutputClass, TM_ROUNDREC);}voidRLPwidget::cmtEllipse(){	ToolMenu(BaseObj, OutputClass, TM_ELLIPSE);}voidRLPwidget::cmtArrow(){	ToolMenu(BaseObj, OutputClass, TM_ARROW);}voidRLPwidget::cmtText(){	ToolMenu(BaseObj, OutputClass, TM_TEXT);}//protected: widget eventsvoidRLPwidget::paintEvent(QPaintEvent *range){	QRect rc;	rc = range->rect();	bitBlt(this, rc.left(), rc.top(), this->mempic, rc.left(), rc.top(),		1+rc.right()-rc.left(), 1+rc.bottom()-rc.top());}voidRLPwidget::resizeEvent(QResizeEvent *){	HScroll->resize(width() -16, 16);	HScroll->move(0, height()-16);	VScroll->resize(16, height()-OutputClass->MenuHeight-16);	VScroll->move(width()-16, OutputClass->MenuHeight);	if(BaseObj) BaseObj->Command(CMD_SETSCROLL, 0L, OutputClass);}voidRLPwidget::closeEvent(QCloseEvent *e){	if(BaseObj){
		if(BaseObj->Command(CMD_CAN_CLOSE, 0L, 0L)) {
			if(OutputClass)((OutputQT*)OutputClass)->widget = 0L;
			OutputClass = 0L;
			BaseObj = 0L;			e->accept();
			}
		}
	else e->accept();}voidRLPwidget::mouseDoubleClickEvent(QMouseEvent *e){	MouseEvent mev = {1, e->button() == Qt::LeftButton?MOUSE_LBDOUBLECLICK:-1,e->x(),e->y()};	if (BaseObj)BaseObj->Command(CMD_MOUSE_EVENT, (void *)&mev, OutputClass);}voidRLPwidget::mousePressEvent(QMouseEvent *e){
	int i;	MouseEvent mev = {1, e->button() == Qt::LeftButton ? MOUSE_LBDOWN : -1, e->x(), e->y()};	HideTextCursor();	i = e->state();
	if(i & Qt::ShiftButton) mev.StateFlags |= 0x08;
	if(i & Qt::ControlButton) mev.StateFlags |= 0x10;
	if (BaseObj)BaseObj->Command(CMD_MOUSE_EVENT, (void *)&mev, OutputClass);}voidRLPwidget::mouseReleaseEvent(QMouseEvent *e){
	int i;
	MouseEvent mev = {0, e->button() == Qt::LeftButton ? MOUSE_LBUP :		e->button() == Qt::RightButton ? MOUSE_RBUP : -1, e->x(), e->y()};
	i = e->state();
	if(i & Qt::ShiftButton) mev.StateFlags |= 0x08;
	if(i & Qt::ControlButton) mev.StateFlags |= 0x10;
	if (BaseObj) BaseObj->Command(CMD_MOUSE_EVENT, (void *)&mev, OutputClass);}voidRLPwidget::mouseMoveEvent(QMouseEvent *e){
	int i;	MouseEvent mev = {0, MOUSE_MOVE, e->x(), e->y()};	i = e->state();
	if(i & Qt::LeftButton) mev.StateFlags |= 0x01;
	if(i & Qt::ShiftButton) mev.StateFlags |= 0x08;
	if(i & Qt::ControlButton) mev.StateFlags |= 0x10;
	if (BaseObj) BaseObj->Command(CMD_MOUSE_EVENT, (void *)&mev, OutputClass);}voidRLPwidget::keyPressEvent(QKeyEvent *e){	int i, c;	if(BaseObj) switch(c = e->key()) {		case Key_Prior:			i = e->state();
			if(i & Qt::ShiftButton) BaseObj->Command(CMD_SHPGUP, 0L, OutputClass);
			else BaseObj->Command(CMD_PAGEUP, 0L, OutputClass);			break;		case Key_Next:			i = e->state();
			if(i & Qt::ShiftButton) BaseObj->Command(CMD_SHPGDOWN, 0L, OutputClass);
			else BaseObj->Command(CMD_PAGEDOWN, 0L, OutputClass);			break;		case Key_Left:			if(e->state() & ShiftButton) BaseObj->Command(CMD_SHIFTLEFT, 0L, OutputClass);			else BaseObj->Command(CMD_CURRLEFT, 0L, OutputClass);			break;		case Key_Ri

⌨️ 快捷键说明

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