Subversion Repositories Scribus

Rev

Rev 20694 | Rev 22324 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4430 cbradney 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
3 paul 7
/***************************************************************************
8
                          page.cpp  -  description
9
                             -------------------
10
    begin                : Sat Apr 7 2001
11
    copyright            : (C) 2001 by Franz Schmid
12
    email                : Franz.Schmid@altmuehlnet.de
13
 ***************************************************************************/
14
 
15
/***************************************************************************
16
 *                                                                         *
17
 *   This program is free software; you can redistribute it and/or modify  *
18
 *   it under the terms of the GNU General Public License as published by  *
19
 *   the Free Software Foundation; either version 2 of the License, or     *
20
 *   (at your option) any later version.                                   *
21
 *                                                                         *
22
 ***************************************************************************/
23
 
12063 cbradney 24
#include <QDebug>
10862 cbradney 25
#include <QPixmap>
26
 
19562 craig 27
#include "appmodehelper.h"
16729 fschmid 28
#include "scpage.h"
1115 tsoots 29
#include "scribus.h"
19080 craig 30
#include "scribusdoc.h"
19093 craig 31
#include "scribusview.h"
4702 cbradney 32
#include "selection.h"
1190 tsoots 33
#include "undomanager.h"
34
#include "undostate.h"
128 Franz 35
 
16736 jghali 36
#include "ui/guidemanager.h"
37
#include "ui/nodeeditpalette.h"
38
 
16729 fschmid 39
ScPage::ScPage(const double x, const double y, const double b, const double h) :
3987 craig 40
        UndoObject(QObject::tr("Page")),
16729 fschmid 41
        SingleObservable<ScPage>(NULL),
3987 craig 42
        Margins(40,40,40,40),
43
        initialMargins(40,40,40,40),
44
        LeftPg(0),
45
        MPageNam(""),
46
        FromMaster(),
47
        undoManager(UndoManager::instance()),
48
        m_xOffset(x),
49
        m_yOffset(y),
50
        m_width(b),
51
        m_height(h),
52
        m_initialWidth(b),
4738 cbradney 53
        m_initialHeight(h),
5685 cbradney 54
        m_PageName(""),
5104 subik 55
        m_Doc(NULL)
3 paul 56
{
5104 subik 57
        guides.setPage(this);
12334 fschmid 58
        marginPreset = 0;
18394 fschmid 59
        PresentVals.pageEffectDuration = 1;
60
        PresentVals.pageViewDuration = 1;
61
        PresentVals.effectType = 0;
62
        PresentVals.Dm = 0;
63
        PresentVals.M = 0;
64
        PresentVals.Di = 0;
3 paul 65
}
1115 tsoots 66
 
16729 fschmid 67
ScPage::~ScPage()
4069 craig 68
{
69
        // Clean up any modified template items (unused)
9856 fschmid 70
//      for (PageItem *currItem = FromMaster.first(); currItem; currItem = FromMaster.next())
71
//      {
72
//              if (currItem->ChangedMasterItem)
73
//              {
74
//                      FromMaster.remove(currItem);
75
//                      delete currItem;
76
//              }
77
//      }
4069 craig 78
        FromMaster.clear();
79
}
80
 
16729 fschmid 81
void ScPage::setDocument(ScribusDoc *doc)
1115 tsoots 82
{
4738 cbradney 83
        m_Doc=doc;
10532 avox 84
        setMassObservable(doc? doc->pagesChanged() : NULL);
4738 cbradney 85
}
86
 
16729 fschmid 87
void ScPage::setPageNr(int pageNr)
4738 cbradney 88
{
3200 cbradney 89
        m_pageNr = pageNr;
5685 cbradney 90
        if (m_PageName.isEmpty())
91
                setUName(QString(QObject::tr("Page") + " %1").arg(m_Doc->FirstPnum + m_pageNr));
1199 tsoots 92
        else
5685 cbradney 93
                setUName(m_PageName);
1115 tsoots 94
}
95
 
16729 fschmid 96
void ScPage::setPageName(const QString& newName)
1199 tsoots 97
{
5685 cbradney 98
        m_PageName = newName;
2877 cbradney 99
        if (!newName.isEmpty())
2093 cbradney 100
                setUName(QObject::tr("Master Page ") + newName);
1199 tsoots 101
}
102
 
16729 fschmid 103
void ScPage::restore(UndoState* state, bool isUndo)
1115 tsoots 104
{
105
        SimpleState* ss = dynamic_cast<SimpleState*>(state);
106
        if (ss)
107
        {
13350 cbradney 108
//              int stateCode = ss->transactionCode;
1115 tsoots 109
                if (ss->contains("ADD_V"))
110
                {
111
                        double position = ss->getDouble("ADD_V");
112
                        if (isUndo)
5087 subik 113
                                guides.deleteVertical(position, GuideManagerCore::Standard);//removeXGuide(position);
1115 tsoots 114
                        else
5087 subik 115
                                guides.addVertical(position, GuideManagerCore::Standard);//addXGuide(position);
9069 subik 116
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 117
                }
118
                else if (ss->contains("ADD_H"))
119
                {
120
                        double position = ss->getDouble("ADD_H");
121
                        if (isUndo)
5087 subik 122
                                guides.deleteHorizontal(position, GuideManagerCore::Standard);//removeYGuide(position);
1115 tsoots 123
                        else
5087 subik 124
                                guides.addHorizontal(position, GuideManagerCore::Standard);//addYGuide(position);
9069 subik 125
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 126
                }
127
                else if (ss->contains("REMOVE_V"))
128
                {
129
                        double position = ss->getDouble("REMOVE_V");
130
                        if (isUndo)
5087 subik 131
                                guides.addVertical(position, GuideManagerCore::Standard);//addXGuide(position);
1115 tsoots 132
                        else
5087 subik 133
                                guides.deleteVertical(position, GuideManagerCore::Standard);//removeXGuide(position);
9069 subik 134
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 135
                }
136
                else if (ss->contains("REMOVE_H"))
137
                {
138
                        double position = ss->getDouble("REMOVE_H");
139
                        if (isUndo)
5087 subik 140
                                guides.addHorizontal(position, GuideManagerCore::Standard);//addYGuide(position);
1115 tsoots 141
                        else
5087 subik 142
                                guides.deleteHorizontal(position, GuideManagerCore::Standard);//removeYGuide(position);
9069 subik 143
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 144
                }
5087 subik 145
                else if (ss->contains("MOVE_H_FROM"))
1115 tsoots 146
                {
5087 subik 147
                        double from = ss->getDouble("MOVE_H_FROM");
148
                        double to   = ss->getDouble("MOVE_H_TO");
1115 tsoots 149
                        if (isUndo)
150
                        {
5087 subik 151
                                guides.deleteHorizontal(to, GuideManagerCore::Standard);//removeYGuide(position);
152
                                guides.addHorizontal(from, GuideManagerCore::Standard);//addYGuide(position);
1115 tsoots 153
                        }
154
                        else
155
                        {
5087 subik 156
                                guides.deleteHorizontal(from, GuideManagerCore::Standard);//removeYGuide(position);
157
                                guides.addHorizontal(to, GuideManagerCore::Standard);//addYGuide(position);
1115 tsoots 158
                        }
9069 subik 159
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 160
                }
5087 subik 161
                else if (ss->contains("MOVE_V_FROM"))
1115 tsoots 162
                {
5087 subik 163
                        double from = ss->getDouble("MOVE_V_FROM");
164
                        double to   = ss->getDouble("MOVE_V_TO");
1115 tsoots 165
                        if (isUndo)
166
                        {
5087 subik 167
                                guides.deleteVertical(to, GuideManagerCore::Standard);//removeXGuide(position);
168
                                guides.addVertical(from, GuideManagerCore::Standard);//removeXGuide(position);
1115 tsoots 169
                        }
170
                        else
171
                        {
5087 subik 172
                                guides.deleteVertical(from, GuideManagerCore::Standard);//removeXGuide(position);
173
                                guides.addVertical(to, GuideManagerCore::Standard);//removeXGuide(position);
1115 tsoots 174
                        }
9069 subik 175
                        m_Doc->scMW()->guidePalette->setupGui();
1115 tsoots 176
                }
9069 subik 177
                // automatic guides
178
                else if (ss->contains("REMOVE_HA_GAP"))
179
                {
180
                        if (isUndo)
181
                        {
182
                                guides.setHorizontalAutoCount(ss->getInt("REMOVE_HA_COUNT"));
183
                                guides.setHorizontalAutoGap(ss->getDouble("REMOVE_HA_GAP"));
184
                                guides.setHorizontalAutoRefer(ss->getInt("REMOVE_HA_REFER"));
185
                        }
186
                        else
187
                        {
188
                                guides.setHorizontalAutoCount(0);
189
                                guides.setHorizontalAutoGap(0.0);
190
                                guides.setHorizontalAutoRefer(0);
191
                        }
192
                        m_Doc->scMW()->guidePalette->setupGui();
193
                }
194
                else if (ss->contains("REMOVE_VA_GAP"))
195
                {
196
                        if (isUndo)
197
                        {
198
                                guides.setVerticalAutoCount(ss->getInt("REMOVE_VA_COUNT"));
199
                                guides.setVerticalAutoGap(ss->getDouble("REMOVE_VA_GAP"));
200
                                guides.setVerticalAutoRefer(ss->getInt("REMOVE_VA_REFER"));
201
                        }
202
                        else
203
                        {
204
                                guides.setVerticalAutoCount(0);
205
                                guides.setVerticalAutoGap(0.0);
206
                                guides.setVerticalAutoRefer(0);
207
                        }
208
                        m_Doc->scMW()->guidePalette->setupGui();
209
                }
1341 tsoots 210
                else if (ss->contains("CREATE_ITEM"))
16729 fschmid 211
                        restorePageItemCreation(dynamic_cast<ScItemState<PageItem*>*>(ss), isUndo);
1340 tsoots 212
                else if (ss->contains("DELETE_ITEM"))
16729 fschmid 213
                        restorePageItemDeletion(dynamic_cast<ScItemState< QList<PageItem*> >*>(ss), isUndo);
3670 cbradney 214
                else if (ss->contains("CONVERT_ITEM"))
22157 jghali 215
                        restorePageItemConversion(dynamic_cast<ScItemState<QPair<PageItem*, PageItem*> >*>(ss), isUndo);
19894 craig 216
                else if (ss->contains("CONVERT_ITEM_TO_SYMBOL"))
22157 jghali 217
                        restorePageItemConversionToSymbol(dynamic_cast<ScItemState<QPair<PageItem*, PageItem*> >*>(ss), isUndo);
17640 craig 218
                else if (ss->contains("PAGE_ATTRS"))
219
                        restorePageAttributes(ss, isUndo);
1115 tsoots 220
        }
221
}
1238 tsoots 222
 
17640 craig 223
void ScPage::restorePageAttributes(SimpleState *state, bool isUndo)
224
{
225
        int left_old = state->getInt("LEFT_OLD");
226
        QString name_old = state->get("NAME_OLD");
227
        int orientation_old = state->getInt("ORIENTATION_OLD");
228
        QString size_old =state->get("SIZE_OLD");
229
        double width_old = state->getDouble("WIDTH_OLD");
230
        double height_old = state->getDouble("HEIGHT_OLD");
231
        double init_height_old = state->getDouble("INIT_HEIGHT_OLD");
232
        double init_width_old = state->getDouble("INIT_WIDTH_OLD");
233
        double init_margin_top_old = state->getDouble("INIT_MARGINTOP_OLD");
234
        double init_margin_bottom_old = state->getDouble("INIT_MARGINBOTTOM_OLD");
235
        double init_margin_right_old = state->getDouble("INIT_MARGINRIGHT_OLD");
236
        double init_margin_left_old = state->getDouble("INIT_MARGINLEFT_OLD");
237
        double margin_top_old = state->getDouble("MARGINTOP_OLD");
238
        double margin_bottom_old = state->getDouble("MARGINBOTTOM_OLD");
239
        int margin_preset_old = state->getInt("MARGINPRESET_OLD");
240
        int left = state->getInt("LEFT");
241
        QString name = state->get("NAME");
242
        int orientation = state->getInt("ORIENTATION");
243
        QString size =state->get("SIZE");
244
        double width = state->getDouble("WIDTH");
245
        double height = state->getDouble("HEIGHT");
246
        double init_height = state->getDouble("INIT_HEIGHT");
247
        double init_width = state->getDouble("INIT_WIDTH");
248
        double init_margin_top = state->getDouble("INIT_MARGINTOP");
249
        double init_margin_bottom = state->getDouble("INIT_MARGINBOTTOM");
250
        double init_margin_right = state->getDouble("INIT_MARGINRIGHT");
251
        double init_margin_left = state->getDouble("INIT_MARGINLEFT");
252
        double margin_top = state->getDouble("MARGINTOP");
253
        double margin_bottom = state->getDouble("MARGINBOTTOM");
254
        int margin_preset = state->getInt("MARGINPRESET");
255
        double horizontal_autogap_old = state->getDouble("HORIZONTAL_AUTOGAP");
256
        double vertical_autogap_old = state->getDouble("VERTICAL_AUTOGAP");
257
        double horizontal_autocount_old = state->getDouble("HORIZONTAL_AUTOCOUNT");
258
        double vertical_autocount_old = state->getDouble("VERTICAL_AUTOCOUNT");
259
        double horizontal_autorefer_old = state->getDouble("HORIZONTAL_AUTOREFER");
260
        double vertical_autorefer_old = state->getDouble("VERTICAL_AUTOREFER");
261
        double horizontal_autogap = state->getDouble("HORIZONTAL_AUTOGAP");
262
        double vertical_autogap = state->getDouble("VERTICAL_AUTOGAP");
263
        double horizontal_autocount = state->getDouble("HORIZONTAL_AUTOCOUNT");
264
        double vertical_autocount = state->getDouble("VERTICAL_AUTOCOUNT");
265
        double horizontal_autorefer = state->getDouble("HORIZONTAL_AUTOREFER");
266
        double vertical_autorefer = state->getDouble("VERTICAL_AUTOREFER");
267
 
268
        if (isUndo)
269
        {
270
                this->LeftPg = left_old;
271
                this->setPageName(name_old);
272
                this->m_pageSize = size_old;
273
                this->setOrientation(orientation_old);
274
                this->setWidth(width_old);
275
                this->setHeight(height_old);
276
                this->setInitialHeight(init_height_old);
277
                this->setInitialWidth(init_width_old);
19831 craig 278
                this->initialMargins.setTop(init_margin_top_old);
279
                this->initialMargins.setBottom(init_margin_bottom_old);
280
                this->initialMargins.setLeft(init_margin_left_old);
281
                this->initialMargins.setRight(init_margin_right_old);
17640 craig 282
                this->marginPreset = margin_preset_old;
19831 craig 283
                this->Margins.setTop(margin_top_old);
284
                this->Margins.setBottom(margin_bottom_old);
17640 craig 285
                this->guides.setHorizontalAutoGap(horizontal_autogap_old);
286
                this->guides.setVerticalAutoGap(vertical_autogap_old);
287
                this->guides.setHorizontalAutoCount(horizontal_autocount_old);
288
                this->guides.setVerticalAutoCount(vertical_autocount_old);
289
                this->guides.setHorizontalAutoRefer(horizontal_autorefer_old);
290
                this->guides.setVerticalAutoRefer(vertical_autorefer_old);
291
        }
292
        else
293
        {
294
                this->LeftPg = left;
295
                this->setPageName(name);
296
                this->m_pageSize = size;
297
                this->setOrientation(orientation);
298
                this->setWidth(width);
299
                this->setHeight(height);
300
                this->setInitialHeight(init_height);
301
                this->setInitialWidth(init_width);
19831 craig 302
                this->initialMargins.setTop(init_margin_top);
303
                this->initialMargins.setBottom(init_margin_bottom);
304
                this->initialMargins.setLeft(init_margin_left);
305
                this->initialMargins.setRight(init_margin_right);
17640 craig 306
                this->marginPreset = margin_preset;
19831 craig 307
                this->Margins.setTop(margin_top);
308
                this->Margins.setBottom(margin_bottom);
17640 craig 309
                this->guides.setHorizontalAutoGap(horizontal_autogap);
310
                this->guides.setVerticalAutoGap(vertical_autogap);
311
                this->guides.setHorizontalAutoCount(horizontal_autocount);
312
                this->guides.setVerticalAutoCount(vertical_autocount);
313
                this->guides.setHorizontalAutoRefer(horizontal_autorefer);
314
                this->guides.setVerticalAutoRefer(vertical_autorefer);
315
        }
316
}
317
 
16729 fschmid 318
void ScPage::restorePageItemCreation(ScItemState<PageItem*> *state, bool isUndo)
1238 tsoots 319
{
1341 tsoots 320
        if (!state)
321
                return;
13312 fschmid 322
        int stateCode = state->transactionCode;
1518 tsoots 323
        PageItem *ite = state->getItem();
5781 cbradney 324
        bool oldMPMode=m_Doc->masterPageMode();
19215 jghali 325
        m_Doc->setMasterPageMode(!ite->OnMasterPage.isEmpty());
19568 jghali 326
        if (m_Doc->inAnEditMode())
19567 jghali 327
                m_Doc->view()->requestMode(modeNormal);
13331 jghali 328
        m_Doc->m_Selection->delaySignalsOn();
1238 tsoots 329
        if (isUndo)
330
        {
5781 cbradney 331
                if (m_Doc->m_Selection->findItem(ite)!=-1)
4888 cbradney 332
                {
18295 jghali 333
                        if (m_Doc->appMode == modeEdit || m_Doc->appMode == modeEditTable)
12767 jghali 334
                                m_Doc->view()->requestMode(modeNormal);
5781 cbradney 335
                        m_Doc->m_Selection->removeItem(ite);
4888 cbradney 336
                }
13312 fschmid 337
                if ((stateCode == 0) || (stateCode == 1))
338
                        m_Doc->view()->Deselect(true);
13359 jghali 339
                Selection tmpSelection(m_Doc, false);
340
                tmpSelection.addItem(ite);
341
                m_Doc->itemSelection_DeleteItem(&tmpSelection);
1238 tsoots 342
        }
343
        else
344
        {
13312 fschmid 345
                if ((stateCode == 0) || (stateCode == 1))
346
                        m_Doc->view()->Deselect(true);
5781 cbradney 347
                m_Doc->Items->append(ite);
17640 craig 348
                ite->OwnPage = m_Doc->OnPage(ite);
1238 tsoots 349
        }
18876 craig 350
        if ((stateCode == 0) || (stateCode == 2))
18788 jghali 351
                update();
5781 cbradney 352
        m_Doc->setMasterPageMode(oldMPMode);
13331 jghali 353
        m_Doc->m_Selection->delaySignalsOff();
1238 tsoots 354
}
355
 
16729 fschmid 356
void ScPage::restorePageItemDeletion(ScItemState< QList<PageItem*> > *state, bool isUndo)
1340 tsoots 357
{
358
        if (!state)
359
                return;
18872 craig 360
        int stateCode = state->transactionCode;
13451 jghali 361
        QList<PageItem*> itemList = state->getItem();
16943 fschmid 362
        int id = state->getInt("ITEMID");
17640 craig 363
        int id2 = state->getInt("ID");
13451 jghali 364
        if (itemList.count() <= 0)
365
                return;
13315 fschmid 366
        m_Doc->view()->Deselect(true);
19374 jghali 367
        bool oldMPMode = m_Doc->masterPageMode();
13451 jghali 368
        m_Doc->setMasterPageMode(!itemList.at(0)->OnMasterPage.isEmpty());
13315 fschmid 369
        if (m_Doc->appMode == modeEditClip) // switch off from edit shape
370
                m_Doc->scMW()->nodePalette->EndEdit();
371
        m_Doc->m_Selection->delaySignalsOn();
1340 tsoots 372
        if (isUndo)
373
        {
7687 cbradney 374
                //CB #3373 reinsert at old position and renumber items
17640 craig 375
                PageItem* ite = itemList.at(id2);
19374 jghali 376
                if (ite->Parent && ite->Parent->isGroup())
377
                        ite->Parent->asGroupFrame()->groupItemList.insert(id, ite);
378
                else
379
                        m_Doc->Items->insert(id, ite);
13451 jghali 380
                for (int i = 0; i < itemList.count(); ++i)
381
                {
382
                        PageItem* ite = itemList.at(i);
17640 craig 383
                        m_Doc->view()->SelectItem(ite);
13451 jghali 384
                }
1340 tsoots 385
        }
386
        else
387
        {
13451 jghali 388
                Selection tmpSelection(m_Doc, false);
17640 craig 389
                PageItem* ite = itemList.at(id2);
390
                if (m_Doc->m_Selection->findItem(ite)!=-1)
4888 cbradney 391
                {
18295 jghali 392
                        if (m_Doc->appMode == modeEdit || m_Doc->appMode == modeEditTable)
17640 craig 393
                                m_Doc->view()->requestMode(modeNormal);
394
                        m_Doc->m_Selection->removeItem(ite);
4888 cbradney 395
                }
17640 craig 396
                tmpSelection.addItem(ite);
13359 jghali 397
                m_Doc->itemSelection_DeleteItem(&tmpSelection);
1340 tsoots 398
        }
18872 craig 399
        if ((stateCode == 0) || (stateCode == 2))
400
                update();
401
        m_Doc->setMasterPageMode(oldMPMode);
13315 fschmid 402
        m_Doc->m_Selection->delaySignalsOff();
1340 tsoots 403
}
3200 cbradney 404
 
22157 jghali 405
void ScPage::restorePageItemConversion(ScItemState<QPair<PageItem*, PageItem*> >*state, bool isUndo)
3670 cbradney 406
{
407
        if (!state)
408
                return;
409
 
410
        PageItem *oldItem=state->getItem().first;
411
        PageItem *newItem=state->getItem().second;
5781 cbradney 412
        bool oldMPMode=m_Doc->masterPageMode();
413
        m_Doc->setMasterPageMode(!oldItem->OnMasterPage.isEmpty());
3670 cbradney 414
        if (isUndo)
415
        {
16943 fschmid 416
                m_Doc->Items->replace(m_Doc->Items->indexOf(newItem), oldItem);
4688 cbradney 417
                oldItem->updatePolyClip();
20694 craig 418
                m_Doc->adjustItemSize(oldItem);
3670 cbradney 419
        }
420
        else
421
        {
16943 fschmid 422
                m_Doc->Items->replace(m_Doc->Items->indexOf(oldItem), newItem);
3670 cbradney 423
        }
5781 cbradney 424
        m_Doc->setMasterPageMode(oldMPMode);
3670 cbradney 425
}
426
 
22157 jghali 427
void ScPage::restorePageItemConversionToSymbol(ScItemState<QPair<PageItem*, PageItem*> >* state, bool isUndo)
19894 craig 428
{
19901 craig 429
        //#11365... this code is not finished and broken... fixing will fix 11365
19894 craig 430
        if (!state)
431
                return;
432
 
433
        PageItem *oldItem=state->getItem().first;
434
        PageItem *newItem=state->getItem().second;
435
        QString patternName=state->getDescription();
436
        bool oldMPMode=m_Doc->masterPageMode();
437
        m_Doc->setMasterPageMode(!oldItem->OnMasterPage.isEmpty());
438
        if (isUndo)
439
        {
440
                m_Doc->Items->replace(m_Doc->Items->indexOf(newItem), oldItem);
441
                oldItem->updatePolyClip();
20694 craig 442
                m_Doc->adjustItemSize(oldItem);
19894 craig 443
                if (m_Doc->docPatterns.contains(patternName))
20407 fschmid 444
                        m_Doc->removePattern(patternName);
19894 craig 445
        }
446
        else
447
        {
448
                m_Doc->Items->replace(m_Doc->Items->indexOf(oldItem), newItem);
449
        }
450
        m_Doc->setMasterPageMode(oldMPMode);
451
}
452
 
16729 fschmid 453
void ScPage::setXOffset(const double newCanvasXOffset)
3200 cbradney 454
{
455
        m_xOffset = newCanvasXOffset;
456
}
457
 
16729 fschmid 458
void ScPage::setYOffset(const double newCanvasYOffset)
3200 cbradney 459
{
460
        m_yOffset = newCanvasYOffset;
461
}
462
 
16729 fschmid 463
void ScPage::setWidth(const double newWidth)
3200 cbradney 464
{
465
        m_width = newWidth;
466
}
467
 
16729 fschmid 468
void ScPage::setHeight(const double newHeight)
3200 cbradney 469
{
470
        m_height = newHeight;
471
}
472
 
16729 fschmid 473
void ScPage::setInitialWidth(const double newInitialWidth)
3200 cbradney 474
{
475
        m_initialWidth = newInitialWidth;
476
}
477
 
16729 fschmid 478
void ScPage::setInitialHeight(const double newInitialHeight)
3200 cbradney 479
{
480
        m_initialHeight = newInitialHeight;
481
}
4242 craig 482
 
16729 fschmid 483
void ScPage::setOrientation(int ori)
13731 cbradney 484
{
485
        m_orientation = ori;
486
}
487
 
16729 fschmid 488
void ScPage::setPageSectionNumber(const QString& newPageSectionNumber)
4242 craig 489
{
490
        m_pageSectionNumber=newPageSectionNumber;
491
}
492
 
16729 fschmid 493
void ScPage::copySizingProperties(ScPage* sourcePage, const MarginStruct& pageMargins)
4568 cbradney 494
{
495
        if (sourcePage==NULL)
496
                return;
5789 cbradney 497
        m_pageSize = sourcePage->m_pageSize;
13731 cbradney 498
        m_orientation = sourcePage->m_orientation;
4568 cbradney 499
        m_width=sourcePage->m_width;
500
        m_height=sourcePage->m_height;
501
        m_initialWidth = sourcePage->m_initialWidth;
502
        m_initialHeight = sourcePage->m_initialHeight;
5104 subik 503
 
19831 craig 504
        Margins = pageMargins;
14781 jghali 505
        // #8859 do not get initialMargins from pageMargins otherwise
506
        // margins may be inverted when applying master pages
19831 craig 507
        initialMargins = sourcePage->initialMargins;
4568 cbradney 508
}