class OutputDevice; class SwFrame; class SwFrameDeleteGuard; class SwRootFrame; class SwLayoutFrame; class SwPageFrame; class SwFlyFrame; class SwContentFrame; class SwTabFrame; class SwViewShellImp; class SwContentNode; class SwWait;
/** *TheusageofLayActionisalwaysthesame: * *1.GenerationoftheLayActionobject. *2.SpecifyingthewantedbehaviourviatheSet-methods *3.CallingAction() *4.Soonafterthatthedestructionoftheobject * *TheobjectregistersattheSwViewShellImpinthectorandderegistersnotuntil *thedtor! *It'satypicalstackobject.
*/ class SwLayAction
{
SwRootFrame *m_pRoot;
SwViewShellImp *m_pImp; // here the action logs in and off
// For the sake of optimization, so that the tables stick a bit better to // the Cursor when hitting return/backspace in front of one. // The first TabFrame that paints itself (per page) adds itself to the pointer. // The ContentFrames beneath the page do not need to deregister at the Shell for // painting. const SwTabFrame *m_pOptTab;
// If a paragraph (or anything else) moved more than one page when // formatting, it adds its new page number here. // The InternalAction can then take the appropriate steps.
sal_uInt16 m_nPreInvaPage;
std::clock_t m_nStartTicks; // The Action's starting time; if too much time passes the // WaitCursor can be enabled via CheckWaitCursor()
VclInputFlags m_nInputType; // Which input should terminate processing
sal_uInt16 m_nEndPage; // StatBar control
sal_uInt16 m_nCheckPageNum; // CheckPageDesc() was delayed if != USHRT_MAX // check from this page onwards
bool m_bPaint; // painting or only formatting? bool m_bComplete; // Format everything or just the visible Area? bool m_bCalcLayout; // Complete reformatting? bool m_bAgain; // For the automatically repeated Action if Pages are deleted bool m_bNextCycle; // Reset on the first invalid Page bool m_bInterrupt; // For terminating processing on interrupt bool m_bIdle; // True if the LayAction was triggered by the Idler bool m_bReschedule; // Call Reschedule depending on Progress? bool m_bCheckPages; // Run CheckPageDescs() or delay it bool m_bUpdateExpFields; // Is set if, after Formatting, we need to do another round for ExpField bool m_bBrowseActionStop; // Terminate Action early (as per bInput) and leave the rest to the Idler bool m_bWaitAllowed; // Waitcursor allowed? bool m_bPaintExtraData; // Painting line numbers (or similar) enabled? bool m_bActionInProgress; // Is set in Action() at the beginning and deleted at the end
// OD 14.04.2003 #106346# - new flag for content formatting on interrupt. bool mbFormatContentOnInterrupt;
// others should be able to activate the WaitCursor, too void CheckWaitCursor();
// #i28701# - method is now public; // delete 2nd parameter, because it's not used; void FormatLayoutFly( SwFlyFrame * ); // #i28701# - method is now public void FormatFlyContent( const SwFlyFrame * );
class SwLayIdle
{
SwRootFrame *m_pRoot;
SwViewShellImp *m_pImp; // The Idler registers and deregisters here
SwContentNode *m_pContentNode; // The current cursor position is saved here
sal_Int32 m_nTextPos; bool m_bPageValid; // Were we able to evaluate everything on the whole page? #ifdef DBG_UTIL bool m_bIndicator;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.