Source Code (Use browser search to find items of interest.)
Class Index
kspread'KSpreadView (./koffice/kspread/kspread_view.h:70)
class KSpreadView : public KoView
{
friend KSpreadCanvas;
Q_OBJECT
public:
KSpreadView( QWidget *_parent, const char *_name, KSpreadDoc *_doc );
~KSpreadView();
KSpreadCanvas* canvasWidget() const { return m_pCanvas; }
KSpreadHBorder* hBorderWidget() { return m_pHBorderWidget; }
KSpreadVBorder* vBorderWidget() { return m_pVBorderWidget; }
QScrollBar* horzScrollBar() { return m_pHorzScrollBar; }
QScrollBar* vertScrollBar() { return m_pVertScrollBar; }
KSpreadEditWidget* editWidget() { return m_pEditWidget; }
QLabel* posWidget() { return m_pPosWidget; }
KSpreadDoc* doc() { return m_pDoc; }
void addTable( KSpreadTable *_t );
void removeTable( KSpreadTable *_t );
void removeAllTables();
void setActiveTable( KSpreadTable *_t );
KSpreadTable* activeTable() { return m_pTable; }
KSpreadTabBar* tabBar() { return m_pTabBar;}
void openPopupMenu( const QPoint &_global );
void popupRowMenu(const QPoint & _point ) ;
void popupColumnMenu( const QPoint & _point);
// void showFormulaToolBar( bool show );
/**
* Used by @ref KSpreadEditWidget. Sets the text of the active cell.
*/
void setText( const QString& _text );
void enableUndo( bool _b );
void enableRedo( bool _b );
/**
* Called by @ref KSpreadInsertHandler
*
* @param _geometry is the zoomed geometry of the new child.
*/
void insertChart( const QRect& _geometry, KoDocumentEntry& _entry );
/**
* Called by @ref KSpreadInsertHandler
*
* @param _geometry is the geometry of the new child.
*/
void insertChild( const QRect& _geometry, KoDocumentEntry& _entry );
virtual bool printDlg();
void paintContent( QPainter& painter, const QRect& rect, bool transparent );
/**
* Enables/Disables all actions of the formula toolbar.
*/
void enableFormulaToolBar( bool );
/**
* Fills the @ref KSpreadEditWidget with the current cells
* content. This function is usually called after the
* cursor moved.
*/
void updateEditWidget();
/**
* Called before saving, to finish the current edition (if any)
*/
void deleteEditor( bool saveChanges = true );
virtual DCOPObject* dcopObject();
virtual QWidget *canvas();
virtual int canvasXOffset() const;
virtual int canvasYOffset() const;
public slots:
/**
* Actions
*/
void transformPart();
void copySelection();
void cutSelection();
void deleteSelection();
void clearSelection();
void paste();
void specialPaste();
void editCell();
void setAreaName();
void showAreaName();
void undo();
void redo();
void adjust();
void defaultSelection();
void paperLayoutDlg();
void insertObject();
void editGlobalScripts();
void editLocalScripts();
void reloadScripts();
void runLocalScript();
void newView();
void togglePageBorders( bool );
void toggleGrid( bool );
void gotoCell();
void replace();
void conditional();
void series();
void sort();
void createAnchor();
void consolidate();
void insertTable();
void removeTable();
void hideTable();
void showTable();
void helpUsing();
void insertChart();
void moneyFormat(bool b);
void alignLeft( bool b );
void alignRight( bool b );
void alignCenter( bool b );
void multiRow( bool b );
void precisionMinus();
void precisionPlus();
void percent(bool b);
void fontSelected( const QString &_font );
void fontSizeSelected( int size );
void bold( bool b );
void italic( bool b );
void underline( bool b );
void deleteColumn();
void deleteRow();
void insertColumn();
void insertRow();
void insertFormula();
void formulaSelection( const QString &_math );
void changeTextColor();
void changeBackgroundColor();
void sortInc();
void sortDec();
void layoutDlg();
void funct();
void formulaPower();
void formulaSubscript();
void formulaParentheses();
void formulaAbsValue();
void formulaBrackets();
void formulaFraction();
void formulaRoot();
void formulaIntegral();
void formulaMatrix();
void formulaLeftSuper();
void formulaLeftSub();
void formulaSum();
void formulaProduct();
void borderBottom();
void borderRight();
void borderLeft();
void borderTop();
void borderOutline();
void borderAll();
void borderRemove();
void changeBorderColor();
void tableFormat();
void oszilloscope();
void autoSum();
void slotInsertRow();
void slotRemoveRow();
void slotInsertColumn();
void slotRemoveColumn();
/**
* @ref #tabBar is connected to this slot.
* When the user selects a new table using the @ref #tabBar this slot
* is signaled.
*/
void changeTable( const QString& _name );
protected slots:
// C++
/**
* Popup menu
*/
void slotActivateTool( int _id );
void slotInsert();
void slotRemove();
/**
* Border popup menu
*/
void slotResizeColumn();
void slotResizeRow();
void slotAdjustColumn();
void slotAdjustRow();
/**
* Scroll @ref #tabBar.
*/
void slotScrollToFirstTable();
/**
* Scroll @ref #tabBar.
*/
void slotScrollToLeftTable();
/**
* Scroll @ref #tabBar.
*/
void slotScrollToRightTable();
/**
* Scroll @ref #tabBar.
*/
void slotScrollToLastTable();
protected slots:
void repaintPolygon( const QPointArray& );
void slotChildSelected( KoDocumentChild* ch );
void slotChildUnselected( KoDocumentChild* );
public slots:
// Document signals
void slotUnselect( KSpreadTable *_table, const QRect& _old );
void slotUpdateView( KSpreadTable *_table );
void slotUpdateView( KSpreadTable *_table, const QRect& );
void slotUpdateCell( KSpreadTable *_table, KSpreadCell* _cell, int _col, int _row );
void slotUpdateHBorder( KSpreadTable *_table );
void slotUpdateVBorder( KSpreadTable *_table );
void slotChangeSelection( KSpreadTable *_table, const QRect &_old, const QRect &_new );
void slotChangeChooseSelection( KSpreadTable *_table, const QRect &_old, const QRect &_new );
void slotAddTable( KSpreadTable *_table );
void slotRemoveChild( KSpreadChild *_child );
void slotUpdateChildGeometry( KSpreadChild *_child );
void slotTableRenamed( KSpreadTable* table, const QString& old_name );
virtual int leftBorder() const;
virtual int rightBorder() const;
virtual int topBorder() const;
virtual int bottomBorder() const;
signals:
void sig_selectionChanged( KSpreadTable* _table, const QRect& _selection );
void sig_chooseSelectionChanged( KSpreadTable* _table, const QRect& _selection );
protected:
// bool eventKeyPressed( QKeyEvent* _event, bool choose );
virtual void keyPressEvent ( QKeyEvent * _ev );
virtual void resizeEvent( QResizeEvent *_ev );
virtual QWMatrix matrix() const;
/**
* Activates the formula editor for the current cell.
* This function is usually called if the user presses
* a button in the formula toolbar.
*/
void activateFormulaEditor();
virtual void updateReadWrite( bool readwrite );
private:
// GUI stuff
QButton* newIconButton( const char *_file, bool _kbutton = false, QWidget *_parent = 0L );
QScrollBar *m_pHorzScrollBar;
QScrollBar *m_pVertScrollBar;
KSpreadCanvas *m_pCanvas;
KSpreadVBorder *m_pVBorderWidget;
KSpreadHBorder *m_pHBorderWidget;
KSpreadEditWidget *m_pEditWidget;
QWidget *m_pFrame;
QFrame *m_pToolWidget;
QButton *m_pTabBarFirst;
QButton *m_pTabBarLeft;
QButton *m_pTabBarRight;
QButton *m_pTabBarLast;
QButton *m_pOkButton;
QButton *m_pCancelButton;
KSpreadTabBar *m_pTabBar;
QLabel *m_pPosWidget;
KToggleAction* m_bold;
KToggleAction* m_italic;
KToggleAction* m_underline;
KToggleAction* m_percent;
KAction* m_precplus;
KAction* m_precminus;
KToggleAction* m_money;
KToggleAction* m_alignLeft;
KToggleAction* m_alignCenter;
KToggleAction* m_alignRight;
KAction* m_transform;
KAction* m_copy;
KAction* m_paste;
KAction* m_cut;
KAction* m_specialPaste;
KAction* m_delete;
KAction* m_clear;
KAction* m_adjust;
KAction* m_editCell;
KAction* m_undo;
KAction* m_redo;
KAction* m_paperLayout;
KAction* m_insertTable;
KAction* m_removeTable;
KAction* m_editGlobalScripts;
KAction* m_editLocalScripts;
KAction* m_reloadScripts;
KAction* m_newView;
KAction* m_gotoCell;
KAction* m_replace;
KAction* m_conditional;
KAction* m_sort;
KAction* m_consolidate;
KAction* m_help;
KToggleAction* m_multiRow;
KFontAction* m_selectFont;
KFontSizeAction* m_selectFontSize;
KAction* m_deleteColumn;
KAction* m_deleteRow;
KAction* m_insertColumn;
KAction* m_insertRow;
KAction* m_formulaPower;
KAction* m_formulaSubscript;
KAction* m_formulaParantheses;
KAction* m_formulaAbsValue;
KAction* m_formulaBrackets;
KAction* m_formulaFraction;
KAction* m_formulaRoot;
KAction* m_formulaIntegral;
KAction* m_formulaMatrix;
KAction* m_formulaLeftSuper;
KAction* m_formulaLeftSub;
KAction* m_formulaSum;
KAction* m_formulaProduct;
KSelectAction* m_formulaSelection;
KAction* m_sortDec;
KAction* m_sortInc;
KColorAction* m_textColor;
KColorAction* m_bgColor;
KAction* m_function;
KAction* m_cellLayout;
KAction* m_hideTable;
KAction* m_showTable;
KToggleAction* m_hideGrid;
KAction* m_borderLeft;
KAction* m_borderRight;
KAction* m_borderTop;
KAction* m_borderBottom;
KAction* m_borderAll;
KAction* m_borderOutline;
KAction* m_borderRemove;
KColorAction* m_borderColor;
KAction* m_tableFormat;
KAction* m_oszi;
KAction* m_autoSum;
KToggleAction* m_showPageBorders;
KActionMenu* m_scripts;
KAction* m_default;
KAction* m_areaName;
KAction* m_showArea;
/**
* Pointer to the last popup menu.
* Since only one popup menu can be opened at once, its pointer is stored here.
* Delete the old one before you store a pointer to anotheron here.
* May be 0L.
*/
QPopupMenu *m_pPopupMenu;
int m_popupMenuFirstToolId;
QPopupMenu *m_pPopupRow;
QPopupMenu *m_pPopupColumn;
/**
* This DCOP object represents the view.
*/
DCOPObject* m_dcop;
/**
* Tells whether the user modfied the current cell.
* Some key events are passed to the @ref EditWindow. When this flag is set and you
* want to leave the cell with the marker then you must first save the new text
* in the cell before moving the marker.
*/
bool m_bEditDirtyFlag;
/**
* The active KSpreadTable. This table has the input focus. It may be 0L, too.
*/
KSpreadTable* m_pTable;
KSpreadDoc *m_pDoc;
/**
* Flags that indicate whether we should display additional
* GUI stuff like rulers and scrollbars.
*
* @see #showGUI
*/
bool m_bShowGUI;
/**
* If @ref #updateEditWidget is called it changes some KToggleActions.
* That causes them to emit a signal. If this lock is TRUE, then these
* signals are ignored.
*/
bool m_toolbarLock;
struct ToolEntry
{
QString command;
KoDataToolInfo info;
};
QList<ToolEntry> m_lstTools;
static KSpreadScripts *m_pGlobalScriptsDialog;
};
kspread'KSpreadView::KSpreadView() (./koffice/kspread/kspread_view.cc:95)
KSpreadView::KSpreadView( QWidget *_parent, const char *_name, KSpreadDoc* doc ) :
KoView( doc, _parent, _name )
{
setInstance( KSpreadFactory::global() );
setXMLFile( "kspread.rc" );
m_toolbarLock = FALSE;
m_pDoc = doc;
m_pPopupMenu = 0;
m_pPopupColumn = 0;
m_pPopupRow = 0;
m_dcop = 0;
// Vert. Scroll Bar
m_pVertScrollBar = new QScrollBar( this, "ScrollBar_2" );
m_pVertScrollBar->setRange( 0, 4096 );
m_pVertScrollBar->setOrientation( QScrollBar::Vertical );
// Horz. Scroll Bar
m_pHorzScrollBar = new QScrollBar( this, "ScrollBar_1" );
m_pHorzScrollBar->setRange( 0, 4096 );
m_pHorzScrollBar->setOrientation( QScrollBar::Horizontal );
// Tab Bar
m_pTabBarFirst = newIconButton( "tab_first" );
QObject::connect( m_pTabBarFirst, SIGNAL( clicked() ), SLOT( slotScrollToFirstTable() ) );
m_pTabBarLeft = newIconButton( "tab_left" );
QObject::connect( m_pTabBarLeft, SIGNAL( clicked() ), SLOT( slotScrollToLeftTable() ) );
m_pTabBarRight = newIconButton( "tab_right" );
QObject:: connect( m_pTabBarRight, SIGNAL( clicked() ), SLOT( slotScrollToRightTable() ) );
m_pTabBarLast = newIconButton( "tab_last" );
QObject::connect( m_pTabBarLast, SIGNAL( clicked() ), SLOT( slotScrollToLastTable() ) );
m_pTabBar = new KSpreadTabBar( this );
QObject::connect( m_pTabBar, SIGNAL( tabChanged( const QString& ) ), this, SLOT( changeTable( const QString& ) ) );
// Paper and Border widgets
m_pFrame = new QWidget( this );
m_pFrame->raise();
// Edit Bar
m_pToolWidget = new QFrame( this );
// m_pToolWidget->setFrameStyle( 49 );
QHBoxLayout* hbox = new QHBoxLayout( m_pToolWidget );
hbox->addSpacing( 2 );
m_pPosWidget = new QLabel( m_pToolWidget );
m_pPosWidget->setAlignment( AlignCenter );
m_pPosWidget->setFrameStyle( QFrame::WinPanel|QFrame::Sunken );
m_pPosWidget->setMinimumWidth( 50 );
hbox->addWidget( m_pPosWidget );
hbox->addSpacing( 6 );
m_pCancelButton = newIconButton( "abort", TRUE, m_pToolWidget );
hbox->addWidget( m_pCancelButton );
m_pOkButton = newIconButton( "done", TRUE, m_pToolWidget );
hbox->addWidget( m_pOkButton );
hbox->addSpacing( 6 );
// The widget on which we display the table
m_pCanvas = new KSpreadCanvas( m_pFrame, this, doc );
// The line-editor that appears above the table and allows to
// edit the cells content. It knows about the two buttons.
m_pEditWidget = new KSpreadEditWidget( m_pToolWidget, m_pCanvas, m_pCancelButton, m_pOkButton );
m_pEditWidget->setFocusPolicy( QWidget::StrongFocus );
hbox->addWidget( m_pEditWidget, 2 );
hbox->addSpacing( 2 );
m_pCanvas->setEditWidget( m_pEditWidget );
m_pHBorderWidget = new KSpreadHBorder( m_pFrame, m_pCanvas,this );
m_pVBorderWidget = new KSpreadVBorder( m_pFrame, m_pCanvas ,this );
m_pCanvas->setFocusPolicy( QWidget::StrongFocus );
QWidget::setFocusPolicy( QWidget::StrongFocus );
setFocusProxy( m_pCanvas );
connect( this, SIGNAL( invalidated() ), m_pCanvas, SLOT( update() ) );
connect( this, SIGNAL( regionInvalidated( const QRegion&, bool ) ),
m_pCanvas, SLOT( repaint( const QRegion&, bool ) ) );
QObject::connect( m_pVertScrollBar, SIGNAL( valueChanged(int) ), m_pCanvas, SLOT( slotScrollVert(int) ) );
QObject::connect( m_pHorzScrollBar, SIGNAL( valueChanged(int) ), m_pCanvas, SLOT( slotScrollHorz(int) ) );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
addTable( tbl );
tbl = m_pDoc->map()->initialActiveTable();
if (tbl)
setActiveTable(tbl);
else
//activate first table which is not hiding
setActiveTable(m_pDoc->map()->findTable(m_pTabBar->listshow().first()));
QObject::connect( m_pDoc, SIGNAL( sig_addTable( KSpreadTable* ) ), SLOT( slotAddTable( KSpreadTable* ) ) );
// Handler for moving and resizing embedded parts
(void)new ContainerHandler( this, m_pCanvas );
m_bold = new KToggleAction( i18n("Bold"), KSBarIcon("bold"), CTRL + Key_B, actionCollection(), "bold");
connect( m_bold, SIGNAL( toggled( bool ) ), this, SLOT( bold( bool ) ) );
m_italic = new KToggleAction( i18n("Italic"), KSBarIcon("italic"), CTRL + Key_I, actionCollection(), "italic");
connect( m_italic, SIGNAL( toggled( bool ) ), this, SLOT( italic( bool ) ) );
m_underline = new KToggleAction( i18n("Underline"), KSBarIcon("underline"), CTRL + Key_U, actionCollection(), "underline");
connect( m_underline, SIGNAL( toggled( bool ) ), this, SLOT( underline( bool ) ) );
m_percent = new KToggleAction( i18n("Percent format"), KSBarIcon("percent"), 0, actionCollection(), "percent");
connect( m_percent, SIGNAL( toggled( bool ) ), this, SLOT( percent( bool ) ) );
m_precplus = new KAction( i18n("Increase precision"), KSBarIcon("precplus"), 0, this,
SLOT( precisionPlus() ), actionCollection(), "precplus");
m_precminus = new KAction( i18n("Decrease precision"), KSBarIcon("precminus"), 0, this,
SLOT( precisionMinus() ), actionCollection(), "precminus");
m_money = new KToggleAction( i18n("Money format"), KSBarIcon("money"), 0, actionCollection(), "money");
connect( m_money, SIGNAL( toggled( bool ) ), this, SLOT( moneyFormat( bool ) ) );
m_alignLeft = new KToggleAction( i18n("Align left"), KSBarIcon("left"), 0, actionCollection(), "left");
connect( m_alignLeft, SIGNAL( toggled( bool ) ), this, SLOT( alignLeft( bool ) ) );
m_alignLeft->setExclusiveGroup( "Align" );
m_alignCenter = new KToggleAction( i18n("Align center"), KSBarIcon("center"), 0, actionCollection(), "center");
connect( m_alignCenter, SIGNAL( toggled( bool ) ), this, SLOT( alignCenter( bool ) ) );
m_alignCenter->setExclusiveGroup( "Align" );
m_alignRight = new KToggleAction( i18n("Align right"), KSBarIcon("right"), 0, actionCollection(), "right");
connect( m_alignRight, SIGNAL( toggled( bool ) ), this, SLOT( alignRight( bool ) ) );
m_alignRight->setExclusiveGroup( "Align" );
m_transform = new KAction( i18n("Transform object..."), KSBarIcon("rotate"), 0, this, SLOT( transformPart() ),
actionCollection(), "transform" );
m_transform->setEnabled( FALSE );
connect( m_transform, SIGNAL( activated() ), this, SLOT( transformPart() ) );
m_copy = KStdAction::copy( this, SLOT( copySelection() ), actionCollection(), "copy" );
m_paste = KStdAction::paste( this, SLOT( paste() ), actionCollection(), "paste" );
m_cut = KStdAction::cut( this, SLOT( cutSelection() ), actionCollection(), "cut" );
m_specialPaste = new KAction( i18n("Special Paste..."), 0, this, SLOT( specialPaste() ), actionCollection(), "specialPaste" );
m_editCell = new KAction( i18n("Edit Cell"), CTRL + Key_E, this, SLOT( editCell() ), actionCollection(), "editCell" );
m_delete = new KAction( i18n("Delete"), 0, this, SLOT( deleteSelection() ), actionCollection(), "delete" );
m_clear = new KAction( i18n("Clear"), 0, this, SLOT( clearSelection() ), actionCollection(), "clear" );
m_adjust = new KAction( i18n("Adjust row and column"), 0, this, SLOT( adjust() ), actionCollection(), "adjust" );
m_default = new KAction( i18n("Default"), 0, this, SLOT( defaultSelection() ), actionCollection(), "default" );
m_areaName = new KAction( i18n("Area name"), 0, this, SLOT( setAreaName() ), actionCollection(), "areaname" );
m_showArea = new KAction( i18n("Show area"), 0, this, SLOT( showAreaName() ), actionCollection(), "showArea" );
m_undo = KStdAction::undo( this, SLOT( undo() ), actionCollection(), "undo" );
m_undo->setEnabled( FALSE );
m_redo = KStdAction::redo( this, SLOT( redo() ), actionCollection(), "redo" );
m_redo->setEnabled( FALSE );
m_paperLayout = new KAction( i18n("Paper Layout..."), 0, this, SLOT( paperLayoutDlg() ), actionCollection(), "paperLayout" );
m_insertTable = new KAction( i18n("Insert Table"), 0, this, SLOT( insertTable() ), actionCollection(), "insertTable" );
m_removeTable = new KAction( i18n("Remove Table"), 0, this, SLOT( removeTable() ), actionCollection(), "removeTable" );
m_showTable = new KAction(i18n("Show Table"),0 ,this,SLOT( showTable()), actionCollection(), "showTable" );
m_hideTable = new KAction(i18n("Hide Table"),0 ,this,SLOT( hideTable()), actionCollection(), "hideTable" );
m_hideGrid = new KToggleAction( i18n("Hide Grid"), 0, actionCollection(), "hideGrid");
connect( m_hideGrid, SIGNAL( toggled( bool ) ), this, SLOT( toggleGrid( bool ) ) );
m_editGlobalScripts = new KAction( i18n("Edit Global Scripts..."), 0, this, SLOT( editGlobalScripts() ),
actionCollection(), "editGlobalScripts" );
m_editLocalScripts = new KAction( i18n("Edit Local Scripts..."), 0, this, SLOT( editLocalScripts() ), actionCollection(), "editLocalScripts" );
m_reloadScripts = new KAction( i18n("Reload Scripts"), 0, this, SLOT( reloadScripts() ), actionCollection(), "reloadScripts" );
m_newView = new KAction( i18n("New View"), 0, this, SLOT( newView() ), actionCollection(), "newView" );
m_gotoCell = new KAction( i18n("Goto Cell..."), 0, this, SLOT( gotoCell() ), actionCollection(), "gotoCell" );
m_showPageBorders = new KToggleAction( i18n("Show page borders"), 0, actionCollection(), "showPageBorders");
connect( m_showPageBorders, SIGNAL( toggled( bool ) ), this, SLOT( togglePageBorders( bool ) ) );
m_replace = new KAction( i18n("Replace..."), 0, this, SLOT( replace() ), actionCollection(), "replace" );
m_conditional = new KAction( i18n("Relational cell attributes..."), 0, this, SLOT( conditional() ), actionCollection(), "conditional" );
m_sort = new KAction( i18n("Sort"), 0, this, SLOT( sort() ), actionCollection(), "sort" );
m_consolidate = new KAction( i18n("Consolidate..."), 0, this, SLOT( consolidate() ), actionCollection(), "consolidate" );
//m_help = new KAction( i18n("KSpread Help..."), 0, this, SLOT( help() ), actionCollection(), "help" );
m_multiRow = new KToggleAction( i18n("Multi Row"), KSBarIcon("multirow"), 0, actionCollection(), "multiRow" );
connect( m_multiRow, SIGNAL( toggled( bool ) ), this, SLOT( multiRow( bool ) ) );
m_selectFont = new KFontAction( i18n("Select Font"), 0, actionCollection(), "selectFont" );
connect( m_selectFont, SIGNAL( activated( const QString& ) ), this, SLOT( fontSelected( const QString& ) ) );
m_selectFontSize = new KFontSizeAction( i18n("Select Font Size"), 0, actionCollection(), "selectFontSize" );
connect( m_selectFontSize, SIGNAL( fontSizeChanged( int ) ), this, SLOT( fontSizeSelected( int ) ) );
m_deleteColumn = new KAction( i18n("Delete Column"), KSBarIcon("colout"), 0, this, SLOT( deleteColumn() ),
actionCollection(), "deleteColumn" );
m_deleteRow = new KAction( i18n("Delete Row"), KSBarIcon("rowout"), 0, this, SLOT( deleteRow() ),
actionCollection(), "deleteRow" );
m_insertColumn = new KAction( i18n("Insert Column"), KSBarIcon("colin"), 0, this, SLOT( insertColumn() ),
actionCollection(), "insertColumn" );
m_insertRow = new KAction( i18n("Insert Row"), KSBarIcon("rowin"), 0, this, SLOT( insertRow() ),
actionCollection(), "insertRow" );
m_cellLayout = new KAction( i18n("Cell Layout..."), CTRL + Key_L, this, SLOT( layoutDlg() ),
actionCollection(), "cellLayout" );
m_formulaPower = new KAction( i18n("Formula Power"), KSBarIcon("index2"), 0, this, SLOT( formulaPower() ),
actionCollection(), "formulaPower" );
m_formulaSubscript = new KAction( i18n("Formula Subscript"), KSBarIcon("index3"), 0, this, SLOT( formulaSubscript() ),
actionCollection(), "formulaSubscript" );
m_formulaParantheses = new KAction( i18n("Formula Parentheses"), KSBarIcon("bra"), 0, this, SLOT( formulaParentheses() ),
actionCollection(), "formulaParentheses" );
m_formulaAbsValue = new KAction( i18n("Formula Abs Value"), KSBarIcon("abs"), 0, this, SLOT( formulaAbsValue() ),
actionCollection(), "formulaAbsValue" );
m_formulaBrackets = new KAction( i18n("Formula Brackets"), KSBarIcon("brackets"), 0, this, SLOT( formulaBrackets() ),
actionCollection(), "formulaBrackets" );
m_formulaFraction = new KAction( i18n("Formula Fraction"), KSBarIcon("frac"), 0, this, SLOT( formulaFraction() ),
actionCollection(), "formulaFraction" );
m_formulaRoot = new KAction( i18n("Formula Root"), KSBarIcon("root"), 0, this, SLOT( formulaRoot() ),
actionCollection(), "formulaRoot" );
m_formulaIntegral = new KAction( i18n("Formula Integral"), KSBarIcon("integral"), 0, this, SLOT( formulaIntegral() ),
actionCollection(), "formulaIntegral" );
m_formulaMatrix = new KAction( i18n("Formula Matrix"), KSBarIcon("matrix"), 0, this, SLOT( formulaMatrix() ),
actionCollection(), "formulaMatrix" );
m_formulaLeftSuper = new KAction( i18n("Formula Left Super"), KSBarIcon("index0"), 0, this, SLOT( formulaLeftSuper() ),
actionCollection(), "formulaLeftSuper" );
m_formulaLeftSub = new KAction( i18n("Formula Left Sub"), KSBarIcon("index1"), 0, this, SLOT( formulaLeftSub() ),
actionCollection(), "formulaLeftSub" );
m_formulaSum = new KAction( i18n("Formula Sum"), KSBarIcon("sum"), 0, this, SLOT( formulaSum() ),
actionCollection(), "formulaSum" );
m_formulaProduct = new KAction( i18n("Formula Product"), KSBarIcon("product"), 0, this, SLOT( formulaProduct() ),
actionCollection(), "formulaProduct");
m_formulaSelection = new KSelectAction( i18n("Formula Selection"), 0, actionCollection(), "formulaSelection" );
QStringList lst;
lst.append( "sum");
lst.append( "cos");
lst.append( "sqrt");
lst.append( i18n("Others...") );
((KSelectAction*) m_formulaSelection)->setItems( lst );
connect( m_formulaSelection, SIGNAL( activated( const QString& ) ),
this, SLOT( formulaSelection( const QString& ) ) );
// Insert menu
(void) new KAction( i18n("Formula..."), KSBarIcon("sum"), 0, this, SLOT( insertFormula() ),
actionCollection(), "insertFormula" );
(void) new KAction( i18n("Series..."), 0, this, SLOT( series() ), actionCollection(), "series" );
(void) new KAction( i18n("Anchor..."), 0, this, SLOT( createAnchor() ), actionCollection(), "createAnchor" );
(void) new KAction( i18n("Object..."), KSBarIcon("parts"), 0, this, SLOT( insertObject() ),
actionCollection(), "insertPart");
(void) new KAction( i18n("Chart"), KSBarIcon("chart"), 0, this, SLOT( insertChart() ), actionCollection(), "insertChart" );
m_autoSum = new KAction( i18n("AutoSum"), KSBarIcon("black-sum"), 0, this, SLOT( autoSum() ),
actionCollection(), "autoSum" );
m_sortDec = new KAction( i18n("Sort descreasing"), KSBarIcon("sort_decrease"), 0, this, SLOT( sortDec() ),
actionCollection(), "sortDec" );
m_sortInc = new KAction( i18n("Sort increasing"), KSBarIcon("sort_incr"), 0, this, SLOT( sortInc() ),
actionCollection(), "sortInc" );
m_textColor = new KColorAction( i18n("Text color"), KColorAction::TextColor, 0, this, SLOT( changeTextColor() ),
actionCollection(), "textColor" );
m_bgColor = new KColorAction( i18n("Background color"), KColorAction::BackgroundColor, 0, this, SLOT( changeBackgroundColor() ),
actionCollection(), "backgroundColor" );
m_function = new KAction( i18n("Function"), KSBarIcon("funct"), 0, this, SLOT( funct() ), actionCollection(), "function" );
m_borderLeft = new KAction( i18n("Border left"), KSBarIcon("borderleft"), 0, this, SLOT( borderLeft() ), actionCollection(), "borderLeft" );
m_borderRight = new KAction( i18n("Border Right"), KSBarIcon("borderright"), 0, this, SLOT( borderRight() ), actionCollection(), "borderRight" );
m_borderTop = new KAction( i18n("Border Top"), KSBarIcon("bordertop"), 0, this, SLOT( borderTop() ), actionCollection(), "borderTop" );
m_borderBottom = new KAction( i18n("Border Bottom"), KSBarIcon("borderbottom"), 0, this, SLOT( borderBottom() ), actionCollection(), "borderBottom" );
m_borderAll = new KAction( i18n("All borders"), KSBarIcon("borderall"), 0, this, SLOT( borderAll() ), actionCollection(), "borderAll" );
m_borderRemove = new KAction( i18n("Remove Borders"), KSBarIcon("borderremove"), 0, this, SLOT( borderRemove() ), actionCollection(), "borderRemove" );
m_borderOutline = new KAction( i18n("Border Outline"), KSBarIcon("borderoutline"), 0, this, SLOT( borderOutline() ), actionCollection(), "borderOutline" );
m_borderColor = new KColorAction( i18n("Border Color"), KColorAction:: FrameColor, 0, this, SLOT( changeBorderColor() ),
actionCollection(), "borderColor" );
m_tableFormat = new KAction( i18n("Table Style..."), 0, this, SLOT( tableFormat() ), actionCollection(), "tableFormat" );
m_oszi = new KAction( i18n("Osciloscope..."), 0, this, SLOT( oszilloscope() ), actionCollection(), "oszi" );
m_scripts = new KScriptMenu( DCOPRef( kapp->dcopClient()->appId(), dcopObject()->objId() ), KSpreadFactory::global(),
i18n("Scripts"), actionCollection(), "scripts" );
connect( this, SIGNAL( childSelected( KoDocumentChild* ) ),
this, SLOT( slotChildSelected( KoDocumentChild* ) ) );
connect( this, SIGNAL( childUnselected( KoDocumentChild* ) ),
this, SLOT( slotChildUnselected( KoDocumentChild* ) ) );
// If a selected part becomes active this is like it is deselected
// just before.
connect( this, SIGNAL( childActivated( KoDocumentChild* ) ),
this, SLOT( slotChildUnselected( KoDocumentChild* ) ) );
// Set the initial position for the marker as store in the XML file,
// (1,1) otherwise
int col = m_pDoc->map()->initialMarkerColumn();
if ( col <= 0 ) col = 1;
int row = m_pDoc->map()->initialMarkerRow();
if ( row <= 0 ) row = 1;
m_pCanvas->gotoLocation( col, row );
}
kspread'KSpreadView::~KSpreadView() (./koffice/kspread/kspread_view.cc:366)
KSpreadView::~KSpreadView()
{
}
/*
// Moved that to KSpreadCanvas
bool KSpreadView::eventKeyPressed( QKeyEvent* _event, bool choose )
{
if ( m_pTable == 0L )
return true;
int x, y;
RowLayout *rl;
ColumnLayout *cl;
KSpreadCell *cell;
// Flag that indicates whether we make a selection right now
bool make_select = FALSE;
QRect selection;
int marker_column;
int marker_row;
void (KSpreadCanvas::*hideMarker)();
void (KSpreadCanvas::*showMarker)();
void (KSpreadCanvas::*setMarkerColumn)(int);
void (KSpreadCanvas::*setMarkerRow)(int);
int (KSpreadCanvas::*markerColumn)() const;
int (KSpreadCanvas::*markerRow)() const;
if ( choose )
{
selection = m_pTable->chooseRect();
// No selection until now ? => select the current cell
if ( selection.left() == 0 )
selection = QRect( m_pCanvas->chooseMarkerColumn(), m_pCanvas->chooseMarkerRow(), 1, 1 );
marker_column = m_pCanvas->chooseMarkerColumn();
marker_row = m_pCanvas->chooseMarkerRow();
hideMarker = &KSpreadCanvas::hideChooseMarker;
showMarker = &KSpreadCanvas::showChooseMarker;
setMarkerRow = &KSpreadCanvas::setChooseMarkerRow;
setMarkerColumn = &KSpreadCanvas::setChooseMarkerColumn;
markerRow = &KSpreadCanvas::chooseMarkerRow;
markerColumn = &KSpreadCanvas::chooseMarkerColumn;
}
else
{
selection = m_pTable->selectionRect();
marker_column = m_pCanvas->markerColumn();
marker_row = m_pCanvas->markerRow();
hideMarker = &KSpreadCanvas::hideMarker;
showMarker = &KSpreadCanvas::showMarker;
setMarkerRow = &KSpreadCanvas::setMarkerRow;
setMarkerColumn = &KSpreadCanvas::setMarkerColumn;
markerRow = &KSpreadCanvas::markerRow;
markerColumn = &KSpreadCanvas::markerColumn;
}
// Done in KSpreadCanvas::keyPressEvent
// Are we making a selection right now ? Go thru this only if no selection is made
// or if we neither selected complete rows nor columns.
if ( ( _event->state() & ShiftButton ) == ShiftButton &&
( selection.left() == 0 || ( selection.right() != 0 && selection.bottom() != 0 ) ) &&
( _event->key() == Key_Down || _event->key() == Key_Up || _event->key() == Key_Left || _event->key() == Key_Right ) )
make_select = TRUE;
// Do we have an old selection ? If yes, unselect everything
if ( selection.left() != 0 && !make_select )
{
if ( choose )
m_pTable->setChooseRect( QRect( marker_column, marker_row, 1, 1 ) );
else
m_pTable->unselect();
}
switch( _event->key() )
{
case Key_Return:
case Key_Enter:
case Key_Down:
// Note: choose is only TRUE, if we get Key_Down
(m_pCanvas->*hideMarker)();
if ( selection.left() == 0 && make_select )
selection = QRect( marker_column, marker_row, 1, 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Are we leaving a cell with extra size ?
if ( cell->isForceExtraCells() )
(m_pCanvas->*setMarkerRow)( marker_row + 1 + cell->extraYCells() );
else
(m_pCanvas->*setMarkerRow)( marker_row + 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Go to the upper left corner of the obscuring object
if ( cell->isObscured() && cell->isObscuringForced() )
{
(m_pCanvas->*setMarkerRow)( cell->obscuringCellsRow() );
(m_pCanvas->*setMarkerColumn)( cell->obscuringCellsColumn() );
}
y = m_pTable->rowPos( (m_pCanvas->*markerRow)(), m_pCanvas );
rl = m_pTable->rowLayout( (m_pCanvas->*markerRow)() );
if ( y + rl->height( m_pCanvas ) > m_pCanvas->height() )
vertScrollBar()->setValue( m_pCanvas->yOffset() + ( y + rl->height( m_pCanvas )
- m_pCanvas->height() ) );
if ( make_select )
{
// If we have been at the top of the selection ...
if ( selection.bottom() == marker_row )
selection.setBottom( (m_pCanvas->*markerRow)() );
else if ( make_select )
selection.setTop( (m_pCanvas->*markerRow)() );
if ( choose )
m_pTable->setChooseRect( selection );
else
m_pTable->setSelection( selection, m_pCanvas );
}
else if ( choose )
m_pTable->setChooseRect( QRect( m_pCanvas->chooseMarkerColumn(), m_pCanvas->chooseMarkerRow(), 1, 1 ) );
(m_pCanvas->*showMarker)();
if ( !choose )
updateEditWidget();
break;
case Key_Up:
(m_pCanvas->*hideMarker)();
if ( selection.left() == 0 && make_select )
selection = QRect( marker_column, marker_row, 1, 1 );
(m_pCanvas->*setMarkerRow)( marker_row - 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Go to the upper left corner of the obscuring object
if ( cell->isObscured() && cell->isObscuringForced() )
{
(m_pCanvas->*setMarkerRow)( cell->obscuringCellsRow() );
(m_pCanvas->*setMarkerColumn)( cell->obscuringCellsColumn() );
}
y = m_pTable->rowPos( (m_pCanvas->*markerRow)(), m_pCanvas );
rl = m_pTable->rowLayout( (m_pCanvas->*markerRow)() );
if ( y < 0 )
vertScrollBar()->setValue( m_pCanvas->yOffset() + y );
if ( make_select )
{
// If we have been at the top of the selection ...
if ( selection.top() == marker_row )
selection.setTop( (m_pCanvas->*markerRow)() );
else if ( make_select )
selection.setBottom( (m_pCanvas->*markerRow)() );
if ( choose )
m_pTable->setChooseRect( selection );
else
m_pTable->setSelection( selection, m_pCanvas );
}
else if ( choose )
m_pTable->setChooseRect( QRect( m_pCanvas->chooseMarkerColumn(), m_pCanvas->chooseMarkerRow(), 1, 1 ) );
(m_pCanvas->*showMarker)();
if ( !choose )
updateEditWidget();
break;
case Key_Left:
(m_pCanvas->*hideMarker)();
if ( selection.left() == 0 && make_select )
selection = QRect( marker_column, marker_row, 1, 1 );
(m_pCanvas->*setMarkerColumn)( marker_column - 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Go to the upper left corner of the obscuring object
if ( cell->isObscured() && cell->isObscuringForced() )
{
(m_pCanvas->*setMarkerRow)( cell->obscuringCellsRow() );
(m_pCanvas->*setMarkerColumn)( cell->obscuringCellsColumn() );
}
x = m_pTable->columnPos( (m_pCanvas->*markerColumn)(), m_pCanvas );
cl = m_pTable->columnLayout( (m_pCanvas->*markerColumn)() );
if ( x < 0 )
horzScrollBar()->setValue( m_pCanvas->xOffset() + x );
if ( make_select )
{
// If we have been at the left side of the selection ...
if ( selection.left() == marker_column )
selection.setLeft( (m_pCanvas->*markerColumn)() );
else
selection.setRight( (m_pCanvas->*markerColumn)() );
if ( choose )
m_pTable->setChooseRect( selection );
else
m_pTable->setSelection( selection, m_pCanvas );
}
else if ( choose )
m_pTable->setChooseRect( QRect( m_pCanvas->chooseMarkerColumn(), m_pCanvas->chooseMarkerRow(), 1, 1 ) );
(m_pCanvas->*showMarker)();
if ( !choose )
updateEditWidget();
break;
case Key_Right:
(m_pCanvas->*hideMarker)();
if ( selection.left() == 0 && make_select )
selection = QRect( marker_column, marker_row, 1, 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Are we leaving a cell with extra size ?
if ( cell->isForceExtraCells() )
(m_pCanvas->*setMarkerColumn)( marker_column + 1 + cell->extraXCells() );
else
(m_pCanvas->*setMarkerColumn)( marker_column + 1 );
cell = m_pTable->cellAt( marker_column, marker_row );
// Go to the upper left corner of the obscuring object ( if there is one )
if ( cell->isObscured() && cell->isObscuringForced() )
{
(m_pCanvas->*setMarkerRow)( cell->obscuringCellsRow() );
(m_pCanvas->*setMarkerColumn)( cell->obscuringCellsColumn() );
}
x = m_pTable->columnPos( (m_pCanvas->*markerColumn)(), m_pCanvas );
cl = m_pTable->columnLayout( (m_pCanvas->*markerColumn)() );
if ( x + cl->width( m_pCanvas ) > m_pCanvas->width() )
horzScrollBar()->setValue( m_pCanvas->xOffset() + ( x + cl->width( m_pCanvas )
- m_pCanvas->width() ) );
if ( make_select )
{
// If we have been at the right side of the selection ...
if ( selection.right() == marker_column )
selection.setRight( (m_pCanvas->*markerColumn)() );
// We have been on the left side ....
else
selection.setLeft( (m_pCanvas->*markerColumn)() );
if ( choose )
m_pTable->setChooseRect( selection );
else
m_pTable->setSelection( selection, m_pCanvas );
}
else if ( choose )
m_pTable->setChooseRect( QRect( m_pCanvas->chooseMarkerColumn(), m_pCanvas->chooseMarkerRow(), 1, 1 ) );
(m_pCanvas->*showMarker)();
if ( !choose )
updateEditWidget();
break;
}
return true;
}
*/
kspread'KSpreadView::updateEditWidget() (./koffice/kspread/kspread_view.cc:636)
void KSpreadView::updateEditWidget()
{
m_toolbarLock = TRUE;
KSpreadCell* cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
if ( !cell )
{
editWidget()->setText( "" );
return;
}
if ( cell->content() == KSpreadCell::VisualFormula )
editWidget()->setText( "" );
else
editWidget()->setText( cell->text() );
m_selectFontSize->setFontSize( cell->textFontSize() );
m_selectFont->setFont( cell->textFontFamily() );
m_bold->setChecked( cell->textFontBold() );
m_italic->setChecked( cell->textFontItalic() );
m_underline->setChecked( cell->textFontUnderline() );
m_textColor->setColor( cell->textColor() );
m_bgColor->setColor( cell->bgColor() );
if ( cell->align() == KSpreadLayout::Left )
m_alignLeft->setChecked( TRUE );
else if ( cell->align() == KSpreadLayout::Right )
m_alignRight->setChecked( TRUE );
else if ( cell->align() == KSpreadLayout::Center )
m_alignCenter->setChecked( TRUE );
else
{
m_alignLeft->setChecked( FALSE );
m_alignRight->setChecked( FALSE );
m_alignCenter->setChecked( FALSE );
}
m_multiRow->setChecked( cell->multiRow() );
if( cell->faktor()==100.0 && cell->postfix()=="%")
m_percent->setChecked( TRUE );
else
m_percent->setChecked( FALSE );
if( cell->postfix()==(" "+activeTable()->Currency()))
m_money->setChecked( TRUE );
else
m_money->setChecked( FALSE );
m_toolbarLock = FALSE;
}
kspread'KSpreadView::activateFormulaEditor() (./koffice/kspread/kspread_view.cc:687)
void KSpreadView::activateFormulaEditor()
{
if ( m_pCanvas->editor() && !m_pCanvas->editor()->inherits("KSpreadFormulaEditor") )
ASSERT( 0 );
m_pCanvas->createEditor( KSpreadCanvas::FormulaEditor );
}
kspread'KSpreadView::updateReadWrite() (./koffice/kspread/kspread_view.cc:695)
void KSpreadView::updateReadWrite( bool readwrite )
{
#ifdef __GNUC_
#warning TODO
#endif
// m_pCancelButton->setEnabled( readwrite );
// m_pOkButton->setEnabled( readwrite );
m_pEditWidget->setEnabled( readwrite );
QValueList<KAction*> actions = actionCollection()->actions();
QValueList<KAction*>::ConstIterator aIt = actions.begin();
QValueList<KAction*>::ConstIterator aEnd = actions.end();
for (; aIt != aEnd; ++aIt )
(*aIt)->setEnabled( readwrite );
m_transform->setEnabled( false );
m_redo->setEnabled( false );
m_undo->setEnabled( false );
m_showTable->setEnabled( true );
m_hideTable->setEnabled( true );
m_newView->setEnabled( true );
m_gotoCell->setEnabled( true );
// m_help->setEnabled( true );
m_oszi->setEnabled( true );
}
kspread'KSpreadView::formulaPower() (./koffice/kspread/kspread_view.cc:721)
void KSpreadView::formulaPower()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::POWER );
}
kspread'KSpreadView::formulaSubscript() (./koffice/kspread/kspread_view.cc:728)
void KSpreadView::formulaSubscript()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::SUB );
}
kspread'KSpreadView::formulaParentheses() (./koffice/kspread/kspread_view.cc:735)
void KSpreadView::formulaParentheses()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::PAREN );
}
kspread'KSpreadView::formulaAbsValue() (./koffice/kspread/kspread_view.cc:742)
void KSpreadView::formulaAbsValue()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::ABS );
}
kspread'KSpreadView::formulaBrackets() (./koffice/kspread/kspread_view.cc:749)
void KSpreadView::formulaBrackets()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::BRACKET );
}
kspread'KSpreadView::formulaFraction() (./koffice/kspread/kspread_view.cc:756)
void KSpreadView::formulaFraction()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::DIVIDE );
}
kspread'KSpreadView::formulaRoot() (./koffice/kspread/kspread_view.cc:763)
void KSpreadView::formulaRoot()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::SQRT );
}
kspread'KSpreadView::formulaIntegral() (./koffice/kspread/kspread_view.cc:770)
void KSpreadView::formulaIntegral()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::INTEGRAL );
}
kspread'KSpreadView::formulaMatrix() (./koffice/kspread/kspread_view.cc:777)
void KSpreadView::formulaMatrix()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::MATRIX );
}
kspread'KSpreadView::formulaLeftSuper() (./koffice/kspread/kspread_view.cc:784)
void KSpreadView::formulaLeftSuper()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::LSUP );
}
kspread'KSpreadView::formulaLeftSub() (./koffice/kspread/kspread_view.cc:791)
void KSpreadView::formulaLeftSub()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::LSUB );
}
kspread'KSpreadView::formulaSum() (./koffice/kspread/kspread_view.cc:798)
void KSpreadView::formulaSum()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::SUM );
}
kspread'KSpreadView::formulaProduct() (./koffice/kspread/kspread_view.cc:805)
void KSpreadView::formulaProduct()
{
activateFormulaEditor();
canvasWidget()->insertFormulaChar(Box::PRODUCT );
}
kspread'KSpreadView::tableFormat() (./koffice/kspread/kspread_view.cc:812)
void KSpreadView::tableFormat()
{
QRect r( activeTable()-> selectionRect() );
if( r.right() ==0x7FFF)
{
KMessageBox::error( this, i18n("Area too large!"));
}
else if(r.bottom()==0x7FFF)
{
KMessageBox::error( this, i18n("Area too large!"));
}
else
{
KSpreadFormatDlg dlg( this );
dlg.exec();
}
}
kspread'KSpreadView::autoSum() (./koffice/kspread/kspread_view.cc:830)
void KSpreadView::autoSum()
{
// ######## Torben: Make sure that this can not be called
// when canvas has a running editor
if ( m_pCanvas->editor() )
return;
m_pCanvas->createEditor( KSpreadCanvas::CellEditor );
m_pCanvas->editor()->setText( "=sum()" );
m_pCanvas->editor()->setCursorPosition( 5 );
// Try to find numbers above
if ( m_pCanvas->markerRow() > 1 )
{
KSpreadCell* cell = 0;
int r = m_pCanvas->markerRow();
do
{
cell = activeTable()->cellAt( m_pCanvas->markerColumn(), --r );
}
while ( cell && cell->isValue() );
if ( r + 1 < m_pCanvas->markerRow() )
{
m_pTable->setChooseRect( QRect( m_pCanvas->markerColumn(), r + 1, 1, m_pCanvas->markerRow() - r - 1 ) );
return;
}
}
// Try to find numbers left
if ( m_pCanvas->markerColumn() > 1 )
{
KSpreadCell* cell = 0;
int c = m_pCanvas->markerColumn();
do
{
cell = activeTable()->cellAt( --c, m_pCanvas->markerRow() );
}
while ( cell && cell->isValue() );
if ( c + 1 < m_pCanvas->markerColumn() )
{
m_pTable->setChooseRect( QRect( c + 1, m_pCanvas->markerRow(), m_pCanvas->markerColumn() - c - 1, 1 ) );
return;
}
}
}
kspread'KSpreadView::oszilloscope() (./koffice/kspread/kspread_view.cc:878)
void KSpreadView::oszilloscope()
{
QDialog* dlg = new KSpreadOsziDlg( this );
dlg->show();
}
kspread'KSpreadView::changeTextColor() (./koffice/kspread/kspread_view.cc:884)
void KSpreadView::changeTextColor()
{
if ( m_pTable != 0L )
{
QColor color;
KSpreadCell* cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
if ( cell )
color = cell->textColor();
if ( KColorDialog::getColor( color ) )
{
m_textColor->setColor( color );
m_pTable->setSelectionTextColor( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), color );
}
}
}
kspread'KSpreadView::changeBackgroundColor() (./koffice/kspread/kspread_view.cc:900)
void KSpreadView::changeBackgroundColor()
{
if ( m_pTable != 0L )
{
QColor color;
KSpreadCell* cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
if ( cell )
color = cell->bgColor();
if ( KColorDialog::getColor( color ) )
{
m_bgColor->setColor( color );
m_pTable->setSelectionbgColor( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), color );
}
}
}
kspread'KSpreadView::changeBorderColor() (./koffice/kspread/kspread_view.cc:917)
void KSpreadView::changeBorderColor()
{
if ( m_pTable != 0L )
{
QColor color;
if ( KColorDialog::getColor( color ) )
{
m_borderColor->setColor( color );
}
}
}
kspread'KSpreadView::helpUsing() (./koffice/kspread/kspread_view.cc:930)
void KSpreadView::helpUsing()
{
kapp->invokeHTMLHelp( "kspread/kspread.html", QString::null );
}
kspread'KSpreadView::newIconButton() (./koffice/kspread/kspread_view.cc:935)
QButton * KSpreadView::newIconButton( const char *_file, bool _kbutton, QWidget *_parent )
{
if ( _parent == 0L )
_parent = this;
QPixmap *pixmap = 0L;
pixmap = new QPixmap( KSBarIcon(_file) );
QButton *pb;
if ( !_kbutton )
pb = new QPushButton( _parent );
else
pb = new QToolButton( _parent );
if ( pixmap )
pb->setPixmap( *pixmap );
return pb;
}
kspread'KSpreadView::enableUndo() (./koffice/kspread/kspread_view.cc:955)
void KSpreadView::enableUndo( bool _b )
{
m_undo->setEnabled( _b );
}
kspread'KSpreadView::enableRedo() (./koffice/kspread/kspread_view.cc:960)
void KSpreadView::enableRedo( bool _b )
{
m_redo->setEnabled( _b );
}
kspread'KSpreadView::undo() (./koffice/kspread/kspread_view.cc:965)
void KSpreadView::undo()
{
m_pDoc->undo();
updateEditWidget();
}
kspread'KSpreadView::redo() (./koffice/kspread/kspread_view.cc:972)
void KSpreadView::redo()
{
m_pDoc->redo();
updateEditWidget();
}
kspread'KSpreadView::deleteColumn() (./koffice/kspread/kspread_view.cc:979)
void KSpreadView::deleteColumn()
{
if ( !m_pTable )
return;
m_pTable->deleteColumn( m_pCanvas->markerColumn() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef(m_pCanvas->markerColumn(),KSpreadTable::ColumnRemove,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::deleteRow() (./koffice/kspread/kspread_view.cc:995)
void KSpreadView::deleteRow()
{
if ( !m_pTable )
return;
m_pTable->deleteRow( m_pCanvas->markerRow() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef(m_pCanvas->markerRow(),KSpreadTable::RowRemove,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::insertColumn() (./koffice/kspread/kspread_view.cc:1011)
void KSpreadView::insertColumn()
{
if ( !m_pTable )
return;
m_pTable->insertColumn( m_pCanvas->markerColumn() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef(m_pCanvas->markerColumn(),KSpreadTable::ColumnInsert, m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::insertRow() (./koffice/kspread/kspread_view.cc:1026)
void KSpreadView::insertRow()
{
if ( !m_pTable )
return;
m_pTable->insertRow( m_pCanvas->markerRow() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef(m_pCanvas->markerRow(),KSpreadTable::RowInsert,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::fontSelected() (./koffice/kspread/kspread_view.cc:1041)
void KSpreadView::fontSelected( const QString &_font )
{
if ( m_toolbarLock )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionFont( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), _font );
// Dont leave the focus in the toolbars combo box ...
if ( m_pCanvas->editor() )
m_pCanvas->editor()->setFocus();
else
m_pCanvas->setFocus();
}
kspread'KSpreadView::insertFormula() (./koffice/kspread/kspread_view.cc:1056)
void KSpreadView::insertFormula()
{
KSpreadDlgFormula* dlg = new KSpreadDlgFormula( this, "Formula Editor" );
dlg->show();
// Is the dialog deleted when it's closed ? (David)
}
kspread'KSpreadView::formulaSelection() (./koffice/kspread/kspread_view.cc:1063)
void KSpreadView::formulaSelection( const QString &_math )
{
if ( m_pTable == 0 )
return;
if( _math == i18n("Others...") )
{
insertFormula();
return;
}
KSpreadDlgFormula* dlg = new KSpreadDlgFormula( this, "Formula Editor",_math );
dlg->show();
/*KSpreadcreate* dlg = new KSpreadcreate( this, _math );
dlg->show();*/
/* if ( !m_pCanvas->editor() )
{
m_pCanvas->createEditor( KSpreadCanvas::CellEditor );
m_pCanvas->editor()->setText( "=" );
}
ASSERT( m_pCanvas->editor() && m_pCanvas->editor()->inherits("KSpreadTextEditor") );
QString function;
if( _math == "sum" )
function = _math + "(:)";
else
function = _math + "()";
int cursor = m_pCanvas->editor()->cursorPosition();
int pos = cursor + _math.length() + 1;
m_pCanvas->editor()->setText( m_pCanvas->editor()->text().insert( cursor, function ) );
m_pCanvas->editor()->setCursorPosition( pos );
m_pCanvas->editor()->setFocus(); */
}
kspread'KSpreadView::fontSizeSelected() (./koffice/kspread/kspread_view.cc:1100)
void KSpreadView::fontSizeSelected( int _size )
{
if ( m_toolbarLock )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionFont( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), 0L, _size );
// Dont leave the focus in the toolbars combo box ...
if ( m_pCanvas->editor() )
m_pCanvas->editor()->setFocus();
else
m_pCanvas->setFocus();
}
kspread'KSpreadView::bold() (./koffice/kspread/kspread_view.cc:1114)
void KSpreadView::bold( bool b )
{
if ( m_toolbarLock )
return;
if ( m_pTable == 0 )
return;
m_pTable->setSelectionFont( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), 0L, -1, b );
}
kspread'KSpreadView::underline() (./koffice/kspread/kspread_view.cc:1124)
void KSpreadView::underline( bool b )
{
if ( m_toolbarLock )
return;
if ( m_pTable == 0 )
return;
m_pTable->setSelectionFont( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), 0L, -1, -1, -1 ,b );
}
kspread'KSpreadView::italic() (./koffice/kspread/kspread_view.cc:1135)
void KSpreadView::italic( bool b )
{
if ( m_toolbarLock )
return;
if ( m_pTable == 0 )
return;
m_pTable->setSelectionFont( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), 0L, -1, -1, b );
}
kspread'KSpreadView::sortInc() (./koffice/kspread/kspread_view.cc:1145)
void KSpreadView::sortInc()
{
QRect r( activeTable()-> selectionRect() );
if ( r.left() == 0 || r.top() == 0 ||
r.right() == 0 || r.bottom() == 0 )
{
KMessageBox::error( 0L, i18n("One cell was selected!") );
}
else if( r.right() ==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else if(r.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
activeTable()->sortByColumn( r.left());
}
}
kspread'KSpreadView::sortDec() (./koffice/kspread/kspread_view.cc:1168)
void KSpreadView::sortDec()
{
QRect r( activeTable()-> selectionRect() );
if ( r.left() == 0 || r.top() == 0 ||
r.right() == 0 || r.bottom() == 0 )
{
KMessageBox::error( 0L, i18n("One cell was selected!") );
}
else if( r.right() ==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else if(r.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
activeTable()->sortByColumn( r.left(),KSpreadTable::Decrease);
}
}
kspread'KSpreadView::funct() (./koffice/kspread/kspread_view.cc:1191)
void KSpreadView::funct()
{
if ( m_pTable == 0L )
return;
KSpreadDlgFormula* dlg = new KSpreadDlgFormula( this, "Formula Editor" );
dlg->show();
}
kspread'KSpreadView::reloadScripts() (./koffice/kspread/kspread_view.cc:1200)
void KSpreadView::reloadScripts()
{
// TODO
}
kspread'KSpreadView::runLocalScript() (./koffice/kspread/kspread_view.cc:1205)
void KSpreadView::runLocalScript()
{
// TODO
}
kspread'KSpreadView::editGlobalScripts() (./koffice/kspread/kspread_view.cc:1210)
void KSpreadView::editGlobalScripts()
{
if ( KSpreadView::m_pGlobalScriptsDialog == 0L )
KSpreadView::m_pGlobalScriptsDialog = new KSpreadScripts();
KSpreadView::m_pGlobalScriptsDialog->show();
KSpreadView::m_pGlobalScriptsDialog->raise();
}
kspread'KSpreadView::editLocalScripts() (./koffice/kspread/kspread_view.cc:1218)
void KSpreadView::editLocalScripts()
{
// TODO
/* if ( !m_pDoc->editPythonCode() )
{
KMessageBox::error( i18n( "Could not start editor" ) );
return;
} */
}
kspread'KSpreadView::borderBottom() (./koffice/kspread/kspread_view.cc:1228)
void KSpreadView::borderBottom()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderBottom( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) ,m_borderColor->color());
}
}
}
kspread'KSpreadView::borderRight() (./koffice/kspread/kspread_view.cc:1243)
void KSpreadView::borderRight()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderRight( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) ,m_borderColor->color());
}
}
}
kspread'KSpreadView::borderLeft() (./koffice/kspread/kspread_view.cc:1258)
void KSpreadView::borderLeft()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderLeft( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ),m_borderColor->color() );
}
}
}
kspread'KSpreadView::borderTop() (./koffice/kspread/kspread_view.cc:1273)
void KSpreadView::borderTop()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderTop( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ),m_borderColor->color() );
}
}
}
kspread'KSpreadView::borderOutline() (./koffice/kspread/kspread_view.cc:1288)
void KSpreadView::borderOutline()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderOutline( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) ,m_borderColor->color());
}
}
}
kspread'KSpreadView::borderAll() (./koffice/kspread/kspread_view.cc:1303)
void KSpreadView::borderAll()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderAll( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ),m_borderColor->color() );
}
}
}
kspread'KSpreadView::borderRemove() (./koffice/kspread/kspread_view.cc:1319)
void KSpreadView::borderRemove()
{
if ( m_pTable != 0L )
{
QRect selection( m_pTable->selectionRect() );
if(selection.right()==0x7FFF ||selection.bottom()==0x7FFF)
{
KMessageBox::error( 0L, i18n("Area too large!") );
}
else
{
m_pTable->borderRemove( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
}
}
}
kspread'KSpreadView::addTable() (./koffice/kspread/kspread_view.cc:1335)
void KSpreadView::addTable( KSpreadTable *_t )
{
if( !_t->isHide() )
{
m_pTabBar->addTab( _t->tableName() );
setActiveTable( _t );
}
else
{
m_pTabBar->addHiddenTab(_t->tableName());
}
// Connect some signals
QObject::connect( _t, SIGNAL( sig_updateView( KSpreadTable* ) ), SLOT( slotUpdateView( KSpreadTable* ) ) );
QObject::connect( _t, SIGNAL( sig_updateView( KSpreadTable *, const QRect& ) ),
SLOT( slotUpdateView( KSpreadTable*, const QRect& ) ) );
QObject::connect( _t, SIGNAL( sig_updateCell( KSpreadTable *, KSpreadCell*, int, int ) ),
SLOT( slotUpdateCell( KSpreadTable *, KSpreadCell*, int, int ) ) );
QObject::connect( _t, SIGNAL( sig_unselect( KSpreadTable *, const QRect& ) ),
SLOT( slotUnselect( KSpreadTable *, const QRect& ) ) );
QObject::connect( _t, SIGNAL( sig_updateHBorder( KSpreadTable * ) ),
SLOT( slotUpdateHBorder( KSpreadTable * ) ) );
QObject::connect( _t, SIGNAL( sig_updateVBorder( KSpreadTable * ) ),
SLOT( slotUpdateVBorder( KSpreadTable * ) ) );
QObject::connect( _t, SIGNAL( sig_changeSelection( KSpreadTable *, const QRect &, const QRect & ) ),
SLOT( slotChangeSelection( KSpreadTable *, const QRect &, const QRect & ) ) );
QObject::connect( _t, SIGNAL( sig_changeChooseSelection( KSpreadTable *, const QRect &, const QRect & ) ),
SLOT( slotChangeChooseSelection( KSpreadTable *, const QRect &, const QRect & ) ) );
QObject::connect( _t, SIGNAL( sig_nameChanged( KSpreadTable*, const QString& ) ),
this, SLOT( slotTableRenamed( KSpreadTable*, const QString& ) ) );
// ########### Why do these signals not send a pointer to the table?
// This will lead to bugs.
QObject::connect( _t, SIGNAL( sig_updateChildGeometry( KSpreadChild* ) ),
SLOT( slotUpdateChildGeometry( KSpreadChild* ) ) );
QObject::connect( _t, SIGNAL( sig_removeChild( KSpreadChild* ) ), SLOT( slotRemoveChild( KSpreadChild* ) ) );
QObject::connect( _t, SIGNAL( sig_maxColumn( int ) ), m_pCanvas, SLOT( slotMaxColumn( int ) ) );
QObject::connect( _t, SIGNAL( sig_maxRow( int ) ), m_pCanvas, SLOT( slotMaxRow( int ) ) );
QObject::connect( _t, SIGNAL( sig_polygonInvalidated( const QPointArray& ) ),
this, SLOT( repaintPolygon( const QPointArray& ) ) );
}
kspread'KSpreadView::removeTable() (./koffice/kspread/kspread_view.cc:1377)
void KSpreadView::removeTable( KSpreadTable *_t )
{
m_pTabBar->removeTab( _t->tableName() );
if(m_pDoc->map()->findTable( m_pTabBar->listshow().first()))
setActiveTable( m_pDoc->map()->findTable( m_pTabBar->listshow().first() ));
else
m_pTable = 0L;
}
kspread'KSpreadView::removeAllTables() (./koffice/kspread/kspread_view.cc:1386)
void KSpreadView::removeAllTables()
{
m_pTabBar->removeAllTabs();
setActiveTable( 0L );
}
kspread'KSpreadView::setActiveTable() (./koffice/kspread/kspread_view.cc:1393)
void KSpreadView::setActiveTable( KSpreadTable *_t )
{
if ( _t == m_pTable )
return;
m_pTable = _t;
if ( m_pTable == 0L )
return;
m_pTabBar->setActiveTab( _t->tableName() );
m_pVBorderWidget->repaint();
m_pHBorderWidget->repaint();
m_pCanvas->repaint();
m_pCanvas->slotMaxColumn( m_pTable->maxColumn() );
m_pCanvas->slotMaxRow( m_pTable->maxRow() );
}
kspread'KSpreadView::slotTableRenamed() (./koffice/kspread/kspread_view.cc:1412)
void KSpreadView::slotTableRenamed( KSpreadTable* table, const QString& old_name )
{
m_pTabBar->renameTab( old_name, table->tableName() );
}
kspread'KSpreadView::changeTable() (./koffice/kspread/kspread_view.cc:1417)
void KSpreadView::changeTable( const QString& _name )
{
if ( activeTable()->tableName() == _name )
return;
KSpreadTable *t = m_pDoc->map()->findTable( _name );
if ( !t )
{
qDebug("Unknown table '%s'\n",_name.latin1());
return;
}
setActiveTable( t );
updateEditWidget();
//refresh toggle button
m_hideGrid->setChecked( !m_pTable->getShowGrid() );
m_showPageBorders->setChecked( m_pTable->isShowPageBorders());
}
kspread'KSpreadView::slotScrollToFirstTable() (./koffice/kspread/kspread_view.cc:1438)
void KSpreadView::slotScrollToFirstTable()
{
m_pTabBar->scrollFirst();
}
kspread'KSpreadView::slotScrollToLeftTable() (./koffice/kspread/kspread_view.cc:1443)
void KSpreadView::slotScrollToLeftTable()
{
m_pTabBar->scrollLeft();
}
kspread'KSpreadView::slotScrollToRightTable() (./koffice/kspread/kspread_view.cc:1448)
void KSpreadView::slotScrollToRightTable()
{
m_pTabBar->scrollRight();
}
kspread'KSpreadView::slotScrollToLastTable() (./koffice/kspread/kspread_view.cc:1453)
void KSpreadView::slotScrollToLastTable()
{
m_pTabBar->scrollLast();
}
kspread'KSpreadView::insertTable() (./koffice/kspread/kspread_view.cc:1458)
void KSpreadView::insertTable()
{
KSpreadTable *t = m_pDoc->createTable();
m_pDoc->addTable( t );
}
kspread'KSpreadView::hideTable() (./koffice/kspread/kspread_view.cc:1464)
void KSpreadView::hideTable()
{
if ( !m_pTable )
return;
m_pTabBar->hideTable();
}
kspread'KSpreadView::showTable() (./koffice/kspread/kspread_view.cc:1471)
void KSpreadView::showTable()
{
if ( !m_pTable )
return;
KSpreadshow* dlg = new KSpreadshow( this, "Table show");
dlg->show();
}
kspread'KSpreadView::copySelection() (./koffice/kspread/kspread_view.cc:1480)
void KSpreadView::copySelection()
{
if ( m_pTable )
m_pTable->copySelection( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
}
kspread'KSpreadView::cutSelection() (./koffice/kspread/kspread_view.cc:1486)
void KSpreadView::cutSelection()
{
if ( !m_pTable )
return;
m_pTable->cutSelection( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::paste() (./koffice/kspread/kspread_view.cc:1495)
void KSpreadView::paste()
{
if ( !m_pTable )
return;
m_pTable->paste( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
m_pTable->recalc(true);
updateEditWidget();
}
kspread'KSpreadView::specialPaste() (./koffice/kspread/kspread_view.cc:1505)
void KSpreadView::specialPaste()
{
if ( !m_pTable )
return;
KSpreadspecial dlg( this, "Special Paste" );
dlg.exec();
m_pTable->recalc(true);
updateEditWidget();
}
kspread'KSpreadView::consolidate() (./koffice/kspread/kspread_view.cc:1516)
void KSpreadView::consolidate()
{
KSpreadConsolidate* dlg = new KSpreadConsolidate( this, "Consolidate" );
dlg->show();
}
kspread'KSpreadView::gotoCell() (./koffice/kspread/kspread_view.cc:1522)
void KSpreadView::gotoCell()
{
KSpreadgoto* dlg = new KSpreadgoto( this, "GotoCell" );
dlg->show();
}
kspread'KSpreadView::replace() (./koffice/kspread/kspread_view.cc:1529)
void KSpreadView::replace()
{
KSpreadreplace* dlg = new KSpreadreplace( this, "Replace" ,QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ));
dlg->show();
}
kspread'KSpreadView::conditional() (./koffice/kspread/kspread_view.cc:1535)
void KSpreadView::conditional()
{
KSpreadconditional *dlg=new KSpreadconditional( this,"conditional",QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ));
dlg->show();
}
kspread'KSpreadView::series() (./koffice/kspread/kspread_view.cc:1542)
void KSpreadView::series()
{
KSpreadseries* dlg = new KSpreadseries( this, "Series",QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
dlg->show();
}
kspread'KSpreadView::sort() (./koffice/kspread/kspread_view.cc:1549)
void KSpreadView::sort()
{
QRect selection( m_pTable->selectionRect() );
if(selection.left()==0)
{
KMessageBox::error( 0L, i18n("One cell was selected!") );
}
else if((selection.right()==0x7FFF) ||(selection.bottom()==0x7FFF))
{
KMessageBox::error( 0L, i18n("Area too large!"));
}
else
{
KSpreadsort* dlg = new KSpreadsort( this, "Sort" );
dlg->show();
}
}
kspread'KSpreadView::createAnchor() (./koffice/kspread/kspread_view.cc:1567)
void KSpreadView::createAnchor()
{
KSpreadanchor* dlg = new KSpreadanchor( this, "Create Anchor" ,QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ));
dlg->show();
}
kspread'KSpreadView::newView() (./koffice/kspread/kspread_view.cc:1574)
void KSpreadView::newView()
{
KoMainWindow* shell = m_pDoc->createShell();
shell->show();
}
kspread'KSpreadView::printDlg() (./koffice/kspread/kspread_view.cc:1580)
bool KSpreadView::printDlg()
{
QPrinter prt;
if ( QPrintDialog::getPrinterSetup( &prt ) )
{
prt.setFullPage( TRUE );
QPainter painter;
painter.begin( &prt );
// Print the table and tell that m_pDoc is NOT embedded.
m_pTable->print( painter, &prt );
painter.end();
}
return true;
}
kspread'KSpreadView::insertChart() (./koffice/kspread/kspread_view.cc:1596)
void KSpreadView::insertChart( const QRect& _geometry, KoDocumentEntry& _e )
{
// Transform the view coordinates to document coordinates
QWMatrix m = matrix().invert();
QPoint tl = m.map( _geometry.topLeft() );
QPoint br = m.map( _geometry.bottomRight() );
// Insert the new child in the active table.
m_pTable->insertChart( QRect( tl, br ), _e, m_pTable->selectionRect() );
}
kspread'KSpreadView::insertChild() (./koffice/kspread/kspread_view.cc:1607)
void KSpreadView::insertChild( const QRect& _geometry, KoDocumentEntry& _e )
{
// Transform the view coordinates to document coordinates
QWMatrix m = matrix().invert();
QPoint tl = m.map( _geometry.topLeft() );
QPoint br = m.map( _geometry.bottomRight() );
// Insert the new child in the active table.
m_pTable->insertChild( QRect( tl, br ), _e );
}
kspread'KSpreadView::slotRemoveChild() (./koffice/kspread/kspread_view.cc:1618)
void KSpreadView::slotRemoveChild( KSpreadChild *_child )
{
if ( _child->table() != m_pTable )
return;
// TODO
}
kspread'KSpreadView::slotUpdateChildGeometry() (./koffice/kspread/kspread_view.cc:1626)
void KSpreadView::slotUpdateChildGeometry( KSpreadChild *_child )
{
// ##############
// TODO
/*
if ( _child->table() != m_pTable )
return;
// Find frame for child
KSpreadChildFrame *f = 0L;
QListIterator<KSpreadChildFrame> it( m_lstFrames );
for ( ; it.current() && !f; ++it )
if ( it.current()->child() == _child )
f = it.current();
assert( f != 0L );
// Are we already up to date ?
if ( _child->geometry() == f->partGeometry() )
return;
// TODO zooming
f->setPartGeometry( _child->geometry() );
*/
}
kspread'KSpreadView::togglePageBorders() (./koffice/kspread/kspread_view.cc:1652)
void KSpreadView::togglePageBorders( bool mode )
{
if ( !m_pTable )
return;
m_pTable->setShowPageBorders( mode );
}
kspread'KSpreadView::toggleGrid() (./koffice/kspread/kspread_view.cc:1660)
void KSpreadView::toggleGrid( bool mode)
{
if ( !m_pTable )
return;
m_pTable->setShowGrid(!mode);
m_pCanvas->repaint();
}
kspread'KSpreadView::editCell() (./koffice/kspread/kspread_view.cc:1667)
void KSpreadView::editCell()
{
if ( m_pCanvas->editor() )
return;
m_pCanvas->createEditor();
}
// ############## Torben: Do we need that ?
kspread'KSpreadView::keyPressEvent() (./koffice/kspread/kspread_view.cc:1676)
void KSpreadView::keyPressEvent ( QKeyEvent* _ev )
{
// Dont eat accelerators
if ( _ev->state() & ( Qt::AltButton | Qt::ControlButton ) )
QWidget::keyPressEvent( _ev );
else
QApplication::sendEvent( m_pCanvas, _ev );
}
kspread'KSpreadView::leftBorder() (./koffice/kspread/kspread_view.cc:1685)
int KSpreadView::leftBorder() const
{
return YBORDER_WIDTH;
}
kspread'KSpreadView::rightBorder() (./koffice/kspread/kspread_view.cc:1690)
int KSpreadView::rightBorder() const
{
return 20;
}
kspread'KSpreadView::topBorder() (./koffice/kspread/kspread_view.cc:1695)
int KSpreadView::topBorder() const
{
return 30 + XBORDER_HEIGHT;
}
kspread'KSpreadView::bottomBorder() (./koffice/kspread/kspread_view.cc:1700)
int KSpreadView::bottomBorder() const
{
return 20;
}
kspread'KSpreadView::resizeEvent() (./koffice/kspread/kspread_view.cc:1705)
void KSpreadView::resizeEvent( QResizeEvent * )
{
m_pToolWidget->show();
m_pToolWidget->setGeometry( 0, 0, width(), 30 );
int top = 30;
// m_pPosWidget->setGeometry( 2,2,50,26 );
// m_pCancelButton->setGeometry( 60, 2, 26, 26 );
// m_pOkButton->setGeometry( 90, 2, 26, 26 );
// m_pEditWidget->setGeometry( 125, 2, 200, 26 );
m_pTabBarFirst->setGeometry( 0, height() - 16, 16, 16 );
m_pTabBarFirst->show();
m_pTabBarLeft->setGeometry( 16, height() - 16, 16, 16 );
m_pTabBarLeft->show();
m_pTabBarRight->setGeometry( 32, height() - 16, 16, 16 );
m_pTabBarRight->show();
m_pTabBarLast->setGeometry( 48, height() - 16, 16, 16 );
m_pTabBarLast->show();
m_pTabBar->setGeometry( 64, height() - 16, width() / 2 - 64, 16 );
m_pTabBar->show();
// David's suggestion: move the scrollbars to KSpreadCanvas, but keep those resize statements
m_pHorzScrollBar->setGeometry( width() / 2, height() - 16, width() / 2 - 16, 16 );
m_pHorzScrollBar->setSteps( 20 /*linestep*/, m_pHorzScrollBar->width() /*pagestep*/);
m_pHorzScrollBar->show();
m_pVertScrollBar->setGeometry( width() - 16, top , 16, height() - 16 - top );
m_pVertScrollBar->setSteps( 20 /*linestep*/, m_pVertScrollBar->height() /*pagestep*/);
m_pVertScrollBar->show();
m_pFrame->setGeometry( 0, top, width() - 16, height() - 16 - top );
m_pFrame->show();
m_pCanvas->setGeometry( YBORDER_WIDTH, XBORDER_HEIGHT,
m_pFrame->width() - YBORDER_WIDTH, m_pFrame->height() - XBORDER_HEIGHT );
m_pHBorderWidget->setGeometry( YBORDER_WIDTH, 0, m_pFrame->width() - YBORDER_WIDTH, XBORDER_HEIGHT );
m_pHBorderWidget->show();
m_pVBorderWidget->setGeometry( 0, XBORDER_HEIGHT, YBORDER_WIDTH,
m_pFrame->height() - XBORDER_HEIGHT );
m_pVBorderWidget->show();
}
kspread'KSpreadView::popupColumnMenu() (./koffice/kspread/kspread_view.cc:1749)
void KSpreadView::popupColumnMenu(const QPoint & _point)
{
assert( m_pTable );
if ( !koDocument()->isReadWrite() )
return;
if (m_pPopupColumn != 0L )
delete m_pPopupColumn ;
m_pPopupColumn= new QPopupMenu();
m_pPopupColumn->insertItem( i18n("Insert Column"), this, SLOT( slotInsertColumn() ) );
m_pPopupColumn->insertItem( i18n("Remove Column"), this, SLOT( slotRemoveColumn() ) );
m_pPopupColumn->insertItem( i18n("Resize..."), this, SLOT( slotResizeColumn() ) );
m_pPopupColumn->insertItem( i18n("Adjust Column"), this, SLOT(slotAdjustColumn() ) );
QObject::connect( m_pPopupColumn, SIGNAL(activated( int ) ), this, SLOT(slotActivateTool( int ) ) );
m_pPopupColumn->popup( _point );
}
kspread'KSpreadView::slotAdjustColumn() (./koffice/kspread/kspread_view.cc:1770)
void KSpreadView::slotAdjustColumn()
{
if ( !m_pTable )
return;
canvasWidget()->hBorderWidget()->adjustColumn();
}
kspread'KSpreadView::slotResizeColumn() (./koffice/kspread/kspread_view.cc:1777)
void KSpreadView::slotResizeColumn()
{
if ( !m_pTable )
return;
KSpreadresize* dlg = new KSpreadresize( this, "Resize column",KSpreadresize::resize_column );
dlg->show();
}
kspread'KSpreadView::slotInsertColumn() (./koffice/kspread/kspread_view.cc:1785)
void KSpreadView::slotInsertColumn()
{
m_pTable->insertColumn( m_pHBorderWidget->markerColumn() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef( m_pHBorderWidget->markerColumn(),KSpreadTable::ColumnInsert, m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::slotRemoveColumn() (./koffice/kspread/kspread_view.cc:1798)
void KSpreadView::slotRemoveColumn()
{
m_pTable->deleteColumn( m_pHBorderWidget->markerColumn() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef( m_pHBorderWidget->markerColumn(),KSpreadTable::ColumnRemove,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::popupRowMenu() (./koffice/kspread/kspread_view.cc:1811)
void KSpreadView::popupRowMenu(const QPoint & _point )
{
assert( m_pTable );
if ( !koDocument()->isReadWrite() )
return;
if (m_pPopupRow != 0L )
delete m_pPopupRow ;
m_pPopupRow= new QPopupMenu();
m_pPopupRow->insertItem( i18n("Insert Row"), this, SLOT( slotInsertRow() ) );
m_pPopupRow->insertItem( i18n("Remove Row"), this, SLOT( slotRemoveRow() ) );
m_pPopupRow->insertItem( i18n("Resize..."), this, SLOT( slotResizeRow() ) );
m_pPopupRow->insertItem( i18n("Adjust Row"), this, SLOT( slotAdjustRow() ) );
QObject::connect( m_pPopupRow, SIGNAL( activated( int ) ), this, SLOT( slotActivateTool( int ) ) );
m_pPopupRow->popup( _point );
}
kspread'KSpreadView::slotAdjustRow() (./koffice/kspread/kspread_view.cc:1831)
void KSpreadView::slotAdjustRow()
{
if ( !m_pTable )
return;
canvasWidget()->vBorderWidget()->adjustRow();
}
kspread'KSpreadView::slotResizeRow() (./koffice/kspread/kspread_view.cc:1838)
void KSpreadView::slotResizeRow()
{
if ( !m_pTable )
return;
KSpreadresize* dlg = new KSpreadresize( this, "Resize row",KSpreadresize::resize_row );
dlg->show();
}
kspread'KSpreadView::slotInsertRow() (./koffice/kspread/kspread_view.cc:1846)
void KSpreadView::slotInsertRow()
{
m_pTable->insertRow( m_pVBorderWidget->markerRow() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef( m_pVBorderWidget->markerRow(),KSpreadTable::RowInsert,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::slotRemoveRow() (./koffice/kspread/kspread_view.cc:1861)
void KSpreadView::slotRemoveRow()
{
m_pTable->deleteRow( m_pVBorderWidget->markerRow() );
KSpreadTable *tbl;
for ( tbl = m_pDoc->map()->firstTable(); tbl != 0L; tbl = m_pDoc->map()->nextTable() )
tbl->recalc(true);
QListIterator<KSpreadTable> it( m_pTable->map()->tableList() );
for( ; it.current(); ++it )
it.current()->changeNameCellRef( m_pVBorderWidget->markerRow(),KSpreadTable::RowRemove,m_pTable->name());
updateEditWidget();
}
kspread'KSpreadView::openPopupMenu() (./koffice/kspread/kspread_view.cc:1875)
void KSpreadView::openPopupMenu( const QPoint & _point )
{
assert( m_pTable );
if ( m_pPopupMenu != 0L )
delete m_pPopupMenu;
if(!koDocument()->isReadWrite() )
return;
m_pPopupMenu = new QPopupMenu();
m_cellLayout->plug( m_pPopupMenu );
m_cut->plug( m_pPopupMenu );
m_copy->plug( m_pPopupMenu );
m_paste->plug( m_pPopupMenu );
m_specialPaste->plug( m_pPopupMenu );
m_delete->plug( m_pPopupMenu );
m_clear->plug( m_pPopupMenu );
m_adjust->plug( m_pPopupMenu );
m_default->plug( m_pPopupMenu );
m_areaName->plug( m_pPopupMenu );
/* m_pPopupMenu->insertItem( i18n("Layout"), this, SLOT( layoutDlg() ) );
m_pPopupMenu->insertItem( i18n("Copy"), this, SLOT( slotCopy() ) );
m_pPopupMenu->insertItem( i18n("Cut"), this, SLOT( slotCut() ) );
m_pPopupMenu->insertItem( i18n("Paste"), this, SLOT( slotPaste() ) );
m_pPopupMenu->insertItem( i18n("Special Paste"), this,SLOT(slotSpecialPaste() ) );
m_pPopupMenu->insertItem(i18n("Delete"), this, SLOT(slotDelete() ) );
m_pPopupMenu->insertItem( i18n("Adjust"),this,SLOT(slotAdjust()));
m_pPopupMenu->insertItem(i18n("Clear"),this,SLOT(slotClear())); */
// If there is no selection
QRect selection( m_pTable->selectionRect() );
if(selection.left()==0 && koDocument()->isReadWrite() )
{
m_pPopupMenu->insertSeparator();
m_pPopupMenu->insertItem( i18n("Insert Cell"),this,SLOT(slotInsert()));
m_pPopupMenu->insertItem( i18n("Remove Cell"),this,SLOT(slotRemove()));
}
// Remove informations about the last tools we offered
m_lstTools.clear();
m_lstTools.setAutoDelete( true );
KSpreadCell *cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
if ( !cell->isFormular() && !cell->isValue() && !cell->valueString().isEmpty()&& koDocument()->isReadWrite() )
{
m_popupMenuFirstToolId = 10;
int i = 0;
QValueList<KoDataToolInfo> tools = KoDataToolInfo::query( "QString", "text/plain" );
if( tools.count() > 0 )
{
m_pPopupMenu->insertSeparator();
QValueList<KoDataToolInfo>::Iterator entry = tools.begin();
for( ; entry != tools.end(); ++entry )
{
QStringList lst = (*entry).userCommands();
QStringList::ConstIterator it = lst.begin();
// ### Torben: Insert pixmaps here, too
for (; it != lst.end(); ++it )
m_pPopupMenu->insertItem( *it, m_popupMenuFirstToolId + i++ );
lst = (*entry).commands();
it = lst.begin();
for (; it != lst.end(); ++it )
{
ToolEntry *t = new ToolEntry;
t->command = *it;
t->info = *entry;
m_lstTools.append( t );
}
}
QObject::connect( m_pPopupMenu, SIGNAL( activated( int ) ), this, SLOT( slotActivateTool( int ) ) );
}
}
m_pPopupMenu->popup( _point );
}
kspread'KSpreadView::slotActivateTool() (./koffice/kspread/kspread_view.cc:1956)
void KSpreadView::slotActivateTool( int _id )
{
ASSERT( m_pTable );
// Is it the id of a tool in the latest popupmenu ?
if( _id < m_popupMenuFirstToolId )
return;
ToolEntry* entry = m_lstTools.at( _id - m_popupMenuFirstToolId );
KoDataTool* tool = entry->info.createTool();
if ( !tool )
{
qDebug("Could not create Tool");
return;
}
KSpreadCell *cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
ASSERT( !cell->isFormular() && !cell->isValue() );
QString text = cell->text();
if ( tool->run( entry->command, &text, "QString", "text/plain") )
cell->setText( text );
// ############## TODO
/*
// CORBA::Object_var obj = imr_activate( entry->entry->name(), "IDL:DataTools/Tool:1.0" );
CORBA::Object_var obj = entry->entry->ref();
if ( CORBA::is_nil( obj ) )
// TODO: error message
return;
DataTools::Tool_var tool = DataTools::Tool::_narrow( obj );
if ( CORBA::is_nil( tool ) )
// TODO: error message
return;
KSpreadCell *cell = m_pTable->cellAt( m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
if ( !cell->isFormular() && !cell->isValue() )
{
QString text = cell->text();
CORBA::Any value;
value <<= CORBA::Any::from_string( (char*)text.data(), 0 );
CORBA::Any anyid;
KSpread::DataToolsId id;
id.time = (unsigned long int)time( 0L );
id.row = m_pCanvas->markerRow();
id.column = m_pCanvas->markerColumn();
anyid <<= id;
tool->run( entry->command.ascii(), this, value, anyid );
return;
}
*/
}
kspread'KSpreadView::deleteSelection() (./koffice/kspread/kspread_view.cc:2011)
void KSpreadView::deleteSelection()
{
ASSERT( m_pTable );
m_pTable->deleteSelection( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::adjust() (./koffice/kspread/kspread_view.cc:2020)
void KSpreadView::adjust()
{
QRect r( activeTable()-> selectionRect() );
if( r.right() ==0x7FFF)
{
KMessageBox::error( this, i18n("Area too large!"));
}
else if(r.bottom()==0x7FFF)
{
KMessageBox::error( this, i18n("Area too large!"));
}
else
{
canvasWidget()->adjustArea();
}
}
kspread'KSpreadView::clearSelection() (./koffice/kspread/kspread_view.cc:2037)
void KSpreadView::clearSelection()
{
ASSERT( m_pTable );
m_pTable->clearSelection( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::defaultSelection() (./koffice/kspread/kspread_view.cc:2045)
void KSpreadView::defaultSelection()
{
ASSERT( m_pTable );
m_pTable->defaultSelection( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::slotInsert() (./koffice/kspread/kspread_view.cc:2053)
void KSpreadView::slotInsert()
{
KSpreadinsert* dlg = new KSpreadinsert( this, "Insert",QPoint(m_pCanvas->markerColumn(), m_pCanvas->markerRow()),KSpreadinsert::Insert );
dlg->show();
}
kspread'KSpreadView::slotRemove() (./koffice/kspread/kspread_view.cc:2059)
void KSpreadView::slotRemove()
{
KSpreadinsert* dlg = new KSpreadinsert( this, "Remove",QPoint(m_pCanvas->markerColumn(), m_pCanvas->markerRow()),KSpreadinsert::Remove );
dlg->show();
}
kspread'KSpreadView::setAreaName() (./koffice/kspread/kspread_view.cc:2066)
void KSpreadView::setAreaName()
{
KSpreadarea* dlg = new KSpreadarea( this, "Area Name",QPoint(m_pCanvas->markerColumn(), m_pCanvas->markerRow()) );
dlg->show();
}
kspread'KSpreadView::showAreaName() (./koffice/kspread/kspread_view.cc:2073)
void KSpreadView::showAreaName()
{
KSpreadreference* dlg = new KSpreadreference( this, "Show area" );
dlg->show();
}
kspread'KSpreadView::layoutDlg() (./koffice/kspread/kspread_view.cc:2079)
void KSpreadView::layoutDlg()
{
QRect selection( m_pTable->selectionRect() );
m_pCanvas->hideMarker();
if ( selection.contains( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) ) )
CellLayoutDlg dlg( this, m_pTable, selection.left(), selection.top(),
selection.right(), selection.bottom() );
else
CellLayoutDlg dlg( this, m_pTable, m_pCanvas->markerColumn(), m_pCanvas->markerRow(), m_pCanvas->markerColumn(), m_pCanvas->markerRow() );
m_pDoc->setModified( true );
// Update the toolbar (bold/italic/font...)
updateEditWidget();
m_pCanvas->showMarker();
}
kspread'KSpreadView::paperLayoutDlg() (./koffice/kspread/kspread_view.cc:2099)
void KSpreadView::paperLayoutDlg()
{
m_pDoc->paperLayoutDlg();
}
kspread'KSpreadView::multiRow() (./koffice/kspread/kspread_view.cc:2104)
void KSpreadView::multiRow( bool b )
{
if ( m_toolbarLock )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionMultiRow( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), b );
}
kspread'KSpreadView::alignLeft() (./koffice/kspread/kspread_view.cc:2113)
void KSpreadView::alignLeft( bool b )
{
if ( m_toolbarLock )
return;
if ( !b )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionAlign( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), KSpreadLayout::Left );
}
kspread'KSpreadView::alignRight() (./koffice/kspread/kspread_view.cc:2124)
void KSpreadView::alignRight( bool b )
{
if ( m_toolbarLock )
return;
if ( !b )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionAlign( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), KSpreadLayout::Right );
}
kspread'KSpreadView::alignCenter() (./koffice/kspread/kspread_view.cc:2135)
void KSpreadView::alignCenter( bool b )
{
if ( m_toolbarLock )
return;
if ( !b )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionAlign( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), KSpreadLayout::Center );
}
// The bool parameter is skipped since setSelectionMoneyFormat toggles the money
// format anyway.
kspread'KSpreadView::moneyFormat() (./koffice/kspread/kspread_view.cc:2148)
void KSpreadView::moneyFormat(bool)
{
if ( m_toolbarLock )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionMoneyFormat( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::precisionPlus() (./koffice/kspread/kspread_view.cc:2157)
void KSpreadView::precisionPlus()
{
if ( m_pTable != 0L )
m_pTable->setSelectionPrecision( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), 1 );
}
kspread'KSpreadView::precisionMinus() (./koffice/kspread/kspread_view.cc:2163)
void KSpreadView::precisionMinus()
{
if ( m_pTable != 0L )
m_pTable->setSelectionPrecision( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ), -1 );
}
// Parameter is skipped since KSpreadTable::setSelectionPercent toggles
kspread'KSpreadView::percent() (./koffice/kspread/kspread_view.cc:2170)
void KSpreadView::percent( bool )
{
if ( m_toolbarLock )
return;
if ( m_pTable != 0L )
m_pTable->setSelectionPercent( QPoint( m_pCanvas->markerColumn(), m_pCanvas->markerRow() ) );
updateEditWidget();
}
kspread'KSpreadView::insertObject() (./koffice/kspread/kspread_view.cc:2179)
void KSpreadView::insertObject()
{
KoDocumentEntry e = KoPartSelectDia::selectPart( m_pCanvas );
if ( e.isEmpty() )
return;
(void)new KSpreadInsertHandler( this, m_pCanvas, e );
}
kspread'KSpreadView::insertChart() (./koffice/kspread/kspread_view.cc:2188)
void KSpreadView::insertChart()
{
QValueList<KoDocumentEntry> vec = KoDocumentEntry::query( "'KChart' in ServiceTypes", 1 );
if ( vec.isEmpty() )
{
KMessageBox::error( 0L, i18n("Sorry, no charting component registered") );
return;
}
(void)new KSpreadInsertHandler( this, m_pCanvas, vec[0], TRUE );
}
/*
void KSpreadView::zoomMinus()
{
if ( m_fZoom <= 0.25 )
return;
m_fZoom -= 0.25;
if ( m_pTable != 0L )
m_pTable->setLayoutDirtyFlag();
m_pCanvas->repaint();
m_pVBorderWidget->repaint();
m_pHBorderWidget->repaint();
}
void KSpreadView::zoomPlus()
{
if ( m_fZoom >= 3 )
return;
m_fZoom += 0.25;
if ( m_pTable != 0L )
m_pTable->setLayoutDirtyFlag();
m_pCanvas->repaint();
m_pVBorderWidget->repaint();
m_pHBorderWidget->repaint();
}
*/
kspread'KSpreadView::removeTable() (./koffice/kspread/kspread_view.cc:2233)
void KSpreadView::removeTable()
{
if ( doc()->map()->count() <= 1 )
{
QApplication::beep();
KMessageBox::sorry( this, i18n("You cannot delete the only table of the map."), i18n("Remove table") ); // FIXME bad english? no english!
return;
}
QApplication::beep();
int ret = QMessageBox::warning( this, i18n("Remove table"), i18n("You are going to remove the active table.\nDo you want to continue?"), i18n("Yes"), i18n("No"), QString::null, 1, 1);
if ( ret == 0 )
{
KSpreadTable *tbl = activeTable();
doc()->map()->removeTable( tbl );
removeTable(tbl);
delete tbl;
}
}
kspread'KSpreadView::setText() (./koffice/kspread/kspread_view.cc:2254)
void KSpreadView::setText( const QString& _text )
{
if ( m_pTable == 0L )
return;
m_pTable->setText( m_pCanvas->markerRow(), m_pCanvas->markerColumn(), _text );
}
//------------------------------------------------
//
// Document signals
//
//------------------------------------------------
kspread'KSpreadView::slotAddTable() (./koffice/kspread/kspread_view.cc:2268)
void KSpreadView::slotAddTable( KSpreadTable *_table )
{
addTable( _table );
}
kspread'KSpreadView::slotUpdateView() (./koffice/kspread/kspread_view.cc:2273)
void KSpreadView::slotUpdateView( KSpreadTable *_table )
{
// qDebug("void KSpreadView::slotUdateView( KSpreadTable *_table )\n");
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pCanvas->update();
}
kspread'KSpreadView::slotUpdateView() (./koffice/kspread/kspread_view.cc:2284)
void KSpreadView::slotUpdateView( KSpreadTable *_table, const QRect& _rect )
{
// qDebug("void KSpreadView::slotUpdateView( KSpreadTable *_table, const QRect& %i %i|%i %i )\n",_rect.left(),_rect.top(),_rect.right(),_rect.bottom());
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pCanvas->updateCellRect( _rect );
}
kspread'KSpreadView::slotUpdateHBorder() (./koffice/kspread/kspread_view.cc:2295)
void KSpreadView::slotUpdateHBorder( KSpreadTable *_table )
{
// qDebug("void KSpreadView::slotUpdateHBorder( KSpreadTable *_table )\n");
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pHBorderWidget->update();
}
kspread'KSpreadView::slotUpdateVBorder() (./koffice/kspread/kspread_view.cc:2306)
void KSpreadView::slotUpdateVBorder( KSpreadTable *_table )
{
// qDebug("void KSpreadView::slotUpdateVBorder( KSpreadTable *_table )\n");
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pVBorderWidget->update();
}
kspread'KSpreadView::slotChangeChooseSelection() (./koffice/kspread/kspread_view.cc:2317)
void KSpreadView::slotChangeChooseSelection( KSpreadTable *_table, const QRect &_old, const QRect &_new )
{
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pCanvas->updateChooseMarker( _old, _new );
// Emit a signal for internal use
emit sig_chooseSelectionChanged( _table, _new );
}
kspread'KSpreadView::slotChangeSelection() (./koffice/kspread/kspread_view.cc:2329)
void KSpreadView::slotChangeSelection( KSpreadTable *_table, const QRect &_old, const QRect &_new )
{
// qDebug("void KSpreadView::slotChangeSelection( KSpreadTable *_table, const QRect &_old %i %i|%i %i, const QRect &_new %i %i|%i %i )\n",_old.left(),_old.top(),_old.right(),_old.bottom(),_new.left(),_new.top(),_new.right(),_new.bottom());
// Emit a signal for internal use
emit sig_selectionChanged( _table, _new );
if ( _new.left() == 0 && _new.right() == 0 )
m_tableFormat->setEnabled( FALSE );
else
m_tableFormat->setEnabled( TRUE );
// Send some event around
KSpreadSelectionChanged ev( _new, activeTable()->name() );
QApplication::sendEvent( this, &ev );
// Do we display this table ?
if ( _table != m_pTable )
return;
QRect uni( _old );
if ( uni.left() == 0 && uni.right() == 0 )
uni = _new;
else if ( _new.left() != 0 || _new.right() != 0 )
uni = uni.unite( _new );
// ########## Torben: Why redraw? Should not we just invert ?
m_pCanvas->updateCellRect( uni );
if ( _old.right() == 0x7fff || _new.right() == 0x7fff )
m_pVBorderWidget->update();
else if ( _old.bottom() == 0x7fff || _new.bottom() == 0x7fff )
m_pHBorderWidget->update();
}
// ############ Not needed any more since the signal it connects to is not needed
kspread'KSpreadView::slotUpdateCell() (./koffice/kspread/kspread_view.cc:2365)
void KSpreadView::slotUpdateCell( KSpreadTable *_table, KSpreadCell *_cell, int _col, int _row )
{
// qDebug("void KSpreadView::slotUpdateCell( KSpreadTable *_table, KSpreadCell *_cell, _col=%i, _row=%i )\n",_col,_row);
// Do we display this table ?
if ( _table != m_pTable )
return;
m_pCanvas->drawCell( _cell, _col, _row );
if ( _col == m_pCanvas->markerColumn() && _row == m_pCanvas->markerRow() )
updateEditWidget();
}
kspread'KSpreadView::slotUnselect() (./koffice/kspread/kspread_view.cc:2379)
void KSpreadView::slotUnselect( KSpreadTable *_table, const QRect& _old )
{
// Do we display this table ?
if ( _table != m_pTable )
return;
// qDebug("void KSpreadView::slotUnselect( KSpreadTable *_table, const QRect &_old %i %i|%i %i\n",_old.left(),_old.top(),_old.right(),_old.bottom());
QRect r( _old.x(), _old.y(), _old.width() + 1, _old.height() + 1 );
m_pCanvas->updateCellRect( r );
// Are complete columns selected ?
if ( _old.bottom() == 0x7FFF )
m_pHBorderWidget->update();
// Are complete rows selected ?
else if ( _old.right() == 0x7FFF )
m_pVBorderWidget->update();
}
kspread'KSpreadView::repaintPolygon() (./koffice/kspread/kspread_view.cc:2398)
void KSpreadView::repaintPolygon( const QPointArray& polygon )
{
QPointArray arr = polygon;
QWMatrix m = matrix()/*.invert()*/;
for( int i = 0; i < 4; ++i )
arr.setPoint( i, m.map( arr.point( i ) ) );
emit regionInvalidated( QRegion( arr ), TRUE );
}
kspread'KSpreadView::paintContent() (./koffice/kspread/kspread_view.cc:2409)
void KSpreadView::paintContent( QPainter& painter, const QRect& rect, bool transparent )
{
m_pDoc->paintContent( painter, rect, transparent, activeTable() );
}
kspread'KSpreadView::matrix() (./koffice/kspread/kspread_view.cc:2414)
QWMatrix KSpreadView::matrix() const
{
QWMatrix m;
m.translate( -m_pCanvas->xOffset(), -m_pCanvas->yOffset() );
m.scale( xScaling(), yScaling() );
return m;
}
kspread'KSpreadView::transformPart() (./koffice/kspread/kspread_view.cc:2422)
void KSpreadView::transformPart()
{
ASSERT( selectedChild() );
KoTransformToolBox* box = 0;
QObject* obj = topLevelWidget()->child( 0, "KoTransformToolBox" );
if ( !obj )
{
box = new KoTransformToolBox( selectedChild(), topLevelWidget() );
box->show();
box->setDocumentChild( selectedChild() );
}
else
{
box = (KoTransformToolBox*)obj;
box->show();
box->raise();
}
}
kspread'KSpreadView::slotChildSelected() (./koffice/kspread/kspread_view.cc:2443)
void KSpreadView::slotChildSelected( KoDocumentChild* ch )
{
m_transform->setEnabled( TRUE );
QObject* obj = topLevelWidget()->child( 0, "KoTransformToolBox" );
if ( obj )
{
KoTransformToolBox* box = (KoTransformToolBox*)obj;
box->setEnabled( TRUE );
box->setDocumentChild( ch );
}
}
kspread'KSpreadView::slotChildUnselected() (./koffice/kspread/kspread_view.cc:2456)
void KSpreadView::slotChildUnselected( KoDocumentChild* )
{
m_transform->setEnabled( FALSE );
QObject* obj = topLevelWidget()->child( 0, "KoTransformToolBox" );
if ( obj )
{
KoTransformToolBox* box = (KoTransformToolBox*)obj;
box->setEnabled( FALSE );
}
}
kspread'KSpreadView::enableFormulaToolBar() (./koffice/kspread/kspread_view.cc:2468)
void KSpreadView::enableFormulaToolBar( bool b )
{
// qDebug("TOOLBARS mode=%s", b ? "TRUE" : "FALSE" );
m_formulaPower->setEnabled( b );
m_formulaSubscript->setEnabled( b );
m_formulaParantheses->setEnabled( b );
m_formulaAbsValue->setEnabled( b );
m_formulaBrackets->setEnabled( b );
m_formulaFraction->setEnabled( b );
m_formulaRoot->setEnabled( b );
m_formulaIntegral->setEnabled( b );
m_formulaMatrix->setEnabled( b );
m_formulaLeftSuper->setEnabled( b );
m_formulaLeftSub->setEnabled( b );
m_formulaSum->setEnabled( b );
m_formulaProduct->setEnabled( b );
}
kspread'KSpreadView::deleteEditor() (./koffice/kspread/kspread_view.cc:2486)
void KSpreadView::deleteEditor( bool saveChanges )
{
m_pCanvas->deleteEditor( saveChanges );
}
kspread'KSpreadView::dcopObject() (./koffice/kspread/kspread_view.cc:2491)
DCOPObject* KSpreadView::dcopObject()
{
if ( !m_dcop )
m_dcop = new KSpreadViewIface( this );
return m_dcop;
}
kspread'KSpreadView::canvas() (./koffice/kspread/kspread_view.cc:2499)
QWidget *KSpreadView::canvas()
{
return canvasWidget();
}
kspread'KSpreadView::canvasXOffset() (./koffice/kspread/kspread_view.cc:2504)
int KSpreadView::canvasXOffset() const
{
return canvasWidget()->xOffset();
}
kspread'KSpreadView::canvasYOffset() (./koffice/kspread/kspread_view.cc:2509)
int KSpreadView::canvasYOffset() const
{
return canvasWidget()->yOffset();
}