/* This file is part of the KDE project Copyright (C) 1998, 1999, 2000 Torben Weis Copyright (C) 2002 - 2005 Dag Andersen This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. */ #ifndef KPLATO_VIEW #define KPLATO_VIEW #include #include "kptcontext.h" class TQListViewItem; class TQPopupMenu; class TQHBoxLayout; class TQTabWidget; class TQWidgetStack; class TDEListView; class KPrinter; class TDEAction; class TDEActionMenu; class TDESelectAction; class TDEToggleAction; class TDERadioAction; class KStatusBarLabel; class DCOPObject; namespace KPlato { class AccountsView; class GanttView; class PertView; class ResourceView; //class ReportView; class Part; class Node; class Project; class Relation; class Context; class View : public KoView { TQ_OBJECT public: View(Part* part, TQWidget* parent=0, const char* name=0); ~View(); /** * Support zooming. */ virtual void setZoom(double zoom); Part *getPart()const; Project& getProject() const; virtual void setupPrinter(KPrinter &printer); virtual void print(KPrinter &printer); TQPopupMenu *popupMenu(const TQString& name); void projectCalculate(); virtual DCOPObject* dcopObject(); virtual bool setContext(Context &context); virtual void getContext(Context &context) const; void setTaskActionsEnabled(TQWidget *w, bool on); void setScheduleActionsEnabled(); public slots: void slotUpdate(bool calculate); void slotEditResource(); void slotEditCut(); void slotEditCopy(); void slotEditPaste(); void slotViewGantt(); void slotViewExpected(); void slotViewOptimistic(); void slotViewPessimistic(); void slotViewGanttResources(); void slotViewGanttTaskName(); void slotViewGanttTaskLinks(); void slotViewGanttProgress(); void slotViewGanttFloat(); void slotViewGanttCriticalTasks(); void slotViewGanttCriticalPath(); void slotViewGanttNoInformation(); void slotViewTaskAppointments(); void slotViewPert(); void slotViewResources(); void slotViewResourceAppointments(); void slotViewAccounts(); void slotAddTask(); void slotAddSubTask(); void slotAddMilestone(); void slotProjectEdit(); void slotDefineWBS(); void slotGenerateWBS(); void slotConfigure(); void slotAddRelation(Node *par, Node *child); void slotModifyRelation(Relation *rel); void slotAddRelation(Node *par, Node *child, int linkType); void slotModifyRelation(Relation *rel, int linkType); void setBaselineMode(bool on); void slotExportGantt(); // testing void setTaskActionsEnabled(bool on); void slotRenameNode(Node *node, const TQString& name); void slotPopupMenu(const TQString& menuname, const TQPoint & pos); protected slots: void slotProjectCalendar(); void slotProjectWorktime(); void slotProjectCalculate(); void slotProjectCalculateExpected(); void slotProjectCalculateOptimistic(); void slotProjectCalculatePessimistic(); void slotProjectAccounts(); void slotProjectResources(); void slotViewReportDesign(); void slotViewReports(); void slotOpenNode(); void slotTaskProgress(); void slotDeleteTask(); void slotIndentTask(); void slotUnindentTask(); void slotMoveTaskUp(); void slotMoveTaskDown(); void slotConnectNode(); void slotChanged(TQWidget *); void slotChanged(); void slotAboutToShow(TQWidget *widget); #ifndef NDEBUG void slotPrintDebug(); void slotPrintSelectedDebug(); void slotPrintCalendarDebug(); void slotPrintTestDebug(); #else static void slotPrintDebug() { }; static void slotPrintSelectedDebug() { }; static void slotPrintCalendarDebug() { }; static void slotPrintTestDebug() { }; #endif protected: virtual void updateReadWrite(bool readwrite); Node *currentTask(); void updateView(TQWidget *widget); private: GanttView *m_ganttview; TQHBoxLayout *m_ganttlayout; PertView *m_pertview; TQHBoxLayout *m_pertlayout; TQWidgetStack *m_tab; ResourceView *m_resourceview; AccountsView *m_accountsview; // ReportView *m_reportview; TQPtrList m_reportTemplateFiles; bool m_baselineMode; int m_viewGrp; int m_defaultFontSize; int m_currentEstimateType; bool m_updateGanttview; bool m_updateResourceview; bool m_updateAccountsview; KStatusBarLabel *m_estlabel; DCOPObject* m_dcop; // ------ Edit TDEAction *actionCut; TDEAction *actionCopy; TDEAction *actionPaste; TDEAction *actionIndentTask; TDEAction *actionUnindentTask; TDEAction *actionMoveTaskUp; TDEAction *actionMoveTaskDown; // ------ View TDEAction *actionViewGantt; TDERadioAction *actionViewExpected; TDERadioAction *actionViewOptimistic; TDERadioAction *actionViewPessimistic; TDEToggleAction *actionViewGanttResources; TDEToggleAction *actionViewGanttTaskName; TDEToggleAction *actionViewGanttTaskLinks; TDEToggleAction *actionViewGanttProgress; TDEToggleAction *actionViewGanttFloat; TDEToggleAction *actionViewGanttCriticalTasks; TDEToggleAction *actionViewGanttCriticalPath; TDEToggleAction *actionViewGanttNotScheduled; TDEToggleAction *actionViewTaskAppointments; TDEAction *actionViewPert; TDEAction *actionViewResources; TDEToggleAction *actionViewResourceAppointments; TDEAction *actionViewAccounts; TDEAction *actionViewReports; // ------ Insert TDEAction *actionAddTask; TDEAction *actionAddSubtask; TDEAction *actionAddMilestone; // ------ Project TDEAction *actionEditMainProject; TDEAction *actionEditStandardWorktime; TDEAction *actionEditCalendar; TDEAction *actionEditAccounts; TDEAction *actionEditResources; TDEActionMenu *actionCalculate; TDEAction *actionCalculateExpected; TDEAction *actionCalculateOptimistic; TDEAction *actionCalculatePessimistic; // ------ Reports TDEAction *actionFirstpage; TDEAction *actionPriorpage; TDEAction *actionNextpage; TDEAction *actionLastpage; // ------ Tools TDEAction *actionDefineWBS; TDEAction *actionGenerateWBS; // ------ Export (testing) TDEAction *actionExportGantt; // ------ Settings TDEAction *actionConfigure; // ------ Popup TDEAction *actionOpenNode; TDEAction *actionTaskProgress; TDEAction *actionDeleteTask; TDEAction *actionEditResource; //Test TDEAction *actNoInformation; }; } //Kplato namespace #endif