Mercurial > ~dholland > hg > ag > index.cgi
view anagram/vaclgui/dvplug.cpp @ 14:a02e9434072e
Fix friend declaration for gcc10.
XXX: did not check it against the IBM compiler, might end up needing
XXX: to be conditional.
author | David A. Holland |
---|---|
date | Tue, 31 May 2022 00:59:42 -0400 |
parents | 13d2b8934445 |
children |
line wrap: on
line source
/* * AnaGram, A System for Syntax Directed Programming * Copyright 1997-2002 Parsifal Software. All Rights Reserved. * See the file COPYING for license and usage terms. * * dvplug.cpp */ #include "action.h" #include "dvplug.hpp" #include "dc.h" #include "p.h" #include "stacks.h" #include "wm1.h" //#define INCLUDE_LOGGING #include "log.h" AgDataViewPlug::~AgDataViewPlug() { LOGSECTION("AgDataViewPlug::~AgDataViewPlug"); LOGV((int) this) LCV(displayControl->usage_count); } IColor AgDataViewPlug::color[10] = { IColor::blue, IColor::white, // table body IColor:: darkRed, IColor::white, // cursor bar IColor::paleGray, IColor::black, // head title IColor::white, IColor::darkBlue, // column head titles IColor::paleGray, IColor::black // foot title }; void AgDataViewPlug::disconnect() { displayControl.discardData(); } void AgDataViewPlug::setFocus() { dataView->setFocus(); } int AgDataViewPlug::getCursorLine() { //LOGSECTION("AgDataViewPlug::getCursorLine"); return dataView->getCursorLine(); } unsigned AgDataViewPlug::nColumns() { int *tabs = displayControl->tab_stops; if (tabs == 0) { return 1; } unsigned i = 1; while (*tabs++) { i++; } return i; } void AgDataViewPlug::show() { pop_up_window(displayControl); } AgString AgDataViewPlug::getLine(unsigned k) { extern char *string_base; LOGSECTION("AgDataViewPlug::getLine"); LOGV((int) (dc *) displayControl); displayControl->getLine(k); LOGV(string_base); return buildAgString(); } AgString AgDataViewPlug::findHelpTopic() { displayControl->des->c_loc_doc.y = getCursorLine(); return displayControl->findHelpTopic(); } int AgDataViewPlug::syntaxDependent() { return displayControl->syntax_dependent; } unsigned AgDataViewPlug::nLines() { return displayControl->des->d_size.y; } int AgDataViewPlug::nextChildId() { return ::nextChildId(); } AgString AgDataViewPlug::fileName() { return simple_file_name; } AgString AgDataViewPlug::headTitle() { return displayControl->head_title; } AgString AgDataViewPlug::columnHeadTitle() { return displayControl->columnHeadTitle; } AgString AgDataViewPlug::footTitle() { return displayControl->foot_title; } AgArray<AgMenuItem> AgDataViewPlug::auxMenu() { LOGSECTION("AgDataViewPlug::auxMenu"); LOGV((int) dataView); LOGV((int) dataView->frameWindow); dc::MenuOption **auxMenu = displayControl->getAuxWinMenu(); LOGV((int) auxMenu); int n = 0; int i; if (auxMenu) { while (auxMenu[n]) { n++; } } LOGV(n); LOGV((int) dataView->frameWindow); LOGV((int) (dc *) displayControl); AgArray<AgMenuItem> menu(n); for (i = 0; i < n; i++) { LOGV(i) LCV(auxMenu[i]->option_name); LOGV((int) dataView->frameWindow); menu[i] = AgMenuItem(auxMenu[i]->option_name, AgClassAction<dc>(*displayControl, auxMenu[i]->action), (dc *) displayControl); LOGV((int) menu[i].displayControl); LOGV((int) dataView->frameWindow); } return menu; } void AgDataViewPlug::synchCursor(unsigned ln) { LOGSECTION("AgDataViewPlug::synchCursor"); LOGV((int) (dc *) displayControl); displayControl->synchCursor(ln); }