[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: koffice/kspread
From: Robert Knight <robertknight () gmail ! com>
Date: 2005-09-27 19:11:36
Message-ID: 1127848296.898202.6392.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 464554 by knight:
BUG: 112376
M +27 -2 kspread_canvas.cc
M +9 -0 kspread_canvas.h
M +8 -2 kspread_sheet.cc
--- trunk/koffice/kspread/kspread_canvas.cc #464553:464554
@@ -1069,8 +1069,13 @@
return;
}
+ /* kdDebug() << "ev_PosX " << ev_PosX << endl;
+ kdDebug() << "ev_PosY " << ev_PosY << endl;
+ kdDebug() << "xOffset " << xOffset() << endl;
+ kdDebug() << "yOffset " << yOffset() << endl;*/
+
//Check for a highlight range size grip and show the user a visual cue if found.
- if (highlightRangeSizeGripAt(ev_PosX,ev_PosY - ypos))
+ if (highlightRangeSizeGripAt(ev_PosX,ev_PosY))
{
setCursor(Qt::CrossCursor);
return;
@@ -1329,7 +1334,7 @@
highlight->getRange(rg);
KoRect visibleRect;
- sheetAreaToVisibleRect(QRect(rg.startCol(),rg.startRow(),
+ sheetAreaToRect(QRect(rg.startCol(),rg.startRow(),
rg.endCol()-rg.startCol()+1,rg.endRow()-rg.startRow()+1),visibleRect);
double distFromSizeGripCorner=( sqrt( (visibleRect.right()-x) +
@@ -4148,6 +4153,26 @@
}
}
+void KSpreadCanvas::sheetAreaToRect(const QRect& sheetArea, KoRect& rect)
+{
+ KSpreadSheet* sheet=activeSheet();
+
+ if ( sheet->layoutDirection()==KSpreadSheet::RightToLeft )
+ {
+ rect.setLeft(sheet->dblColumnPos( sheetArea.right()+1 ) );
+ rect.setRight(sheet->dblColumnPos( sheetArea.left() ));
+ }
+ else
+ {
+ rect.setLeft(sheet->dblColumnPos( sheetArea.left() ));
+ rect.setRight(sheet->dblColumnPos( sheetArea.right()+1 ));
+ }
+
+ rect.setTop(sheet->dblRowPos(sheetArea.top()));
+ rect.setBottom(sheet->dblRowPos(sheetArea.bottom()+1));
+
+}
+
void KSpreadCanvas::sheetAreaToVisibleRect( const QRect& sheetArea,
KoRect& visibleRect )
{
--- trunk/koffice/kspread/kspread_canvas.h #464553:464554
@@ -478,6 +478,15 @@
void sheetAreaToVisibleRect( const QRect& sheetArea,
KoRect& visibleRect );
+ /**
+ * Calculates the physical region on the canvas widget occupied by a range of cells on
+ * the currently active sheet.
+ * Unlike @see sheetAreaToVisibleRect , scrolling the view does not affect sheetAreaToRect.
+ *
+ * @param sheetArea The range of cells on the current sheet
+ * @param visibleRect This is set to the physical region occupied by the given range of cells
+ */
+ void sheetAreaToRect( const QRect& sheetArea, KoRect& rect );
void retrieveMarkerInfo( const QRect &marker, const KoRect &viewRect,
--- trunk/koffice/kspread/kspread_sheet.cc #464553:464554
@@ -8054,8 +8054,11 @@
ChartChild *ch = new ChartChild( doc(), this );
if ( ch->load( e ) )
insertChild( ch );
- else
+ else
+ {
+ ch->setDeleted(true);
delete ch;
+ }
}
n = n.nextSibling();
@@ -8251,8 +8254,11 @@
if ( wiz && wiz->show())
insertChild( ch );
- else
+ else
+ {
+ ch->setDeleted(true);
delete ch;
+ }
}
void KSpreadSheet::insertChild( const QRect& _rect, KoDocumentEntry& _e )
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic