View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003295 | Scribus | General | public | 2006-02-26 21:10 | 2008-12-22 21:35 |
Reporter | gpittman | Assigned To | pierremarchand | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | any | OS | Linux | OS Version | any |
Product Version | 1.3.3.1 | ||||
Fixed in Version | 1.3.5svn | ||||
Summary | 0003295: Display problems when entering rotation from keyboard | ||||
Description | When one creates a group of objects, there are some aberrancies when rotating. The worst seems to be with a group of draw lines (perhaps also with other shapes, haven't tried. 1. You cannot choose the point of rotation, which seems to be somewhere off the left side and top of the page. 2. If you enter a rotation, such as 90 degrees with the keyboard, the item goes off the page, which wouldn't be so bad, but when you correct the X and Y positions the display of the page is distorted and remains so -- typically part of the page cut off. It is still possible to save the page (fortunately), but you have to close the document and open it up again to normalize the display. This also happened with a group of image frames, but did not distort the display. What did happen was the page was shifted in the workspace. | ||||
Steps To Reproduce | 1. Easiest way to demonstrate is to use the attached script, which is the beginnings of a Postnet code maker; right now just displays the digits 0-9 vertically as a series of horizontal lines. 2. Group the line objects. 3. Note that the center point rotation widget is greyed out (inoperable). 4. Enter with the keyboard 90 degrees for rotation. 5. Correct the Y and/or X with the keyboard to bring the group back on the page. 6. Display distorts and remains so. | ||||
Tags | No tags attached. | ||||
Patch | |||||
2006-02-26 21:10
|
postalcode.py (7,893 bytes)
#!/usr/bin/env python # File: postalcode.py # originally 2006.02.26 Gregory Pittman from scribus import * #import Tkinter #some constants a = 1.44 #line width b="Black" relx=130 #Start X rely=130 #Start Y if haveDoc(): setRedraw(1) setUnit(0) #Draw the lines for digit 0 d = createLine(relx,rely,relx+9,rely,) #Long line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 1 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 2 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+9,rely) #Long line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 3 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+9,rely) #Long line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 4 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 5 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 6 d = createLine(relx,rely,relx+3.6,rely,) #short line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+9,rely) #Long line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 7 d = createLine(relx,rely,relx+9,rely,) #Long line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 8 d = createLine(relx,rely,relx+9,rely,) #Long line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+9,rely) #long line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 #Draw the lines for digit 9 d = createLine(relx,rely,relx+9,rely,) #Long line setLineWidth(a, d) setLineColor(b, d) setFillColor(b, d) rely = rely + 3.4 e = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, e) setLineColor(b, e) setFillColor(b, e) rely = rely + 3.4 f = createLine(relx,rely,relx+9,rely) #Long line setLineWidth(a, f) setLineColor(b, f) setFillColor(b, f) rely = rely + 3.4 g = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, g) setLineColor(b, g) setFillColor(b, g) rely = rely + 3.4 h = createLine(relx,rely,relx+3.6,rely) #short line setLineWidth(a, h) setLineColor(b, h) setFillColor(b, h) rely = rely + 3.4 redrawAll() #root = Tkinter.Tk() #root.update() #d = ImageDialog(root) #root.wait_window(d) |
|
1. and 2. confirmed with scribus 1.3.3.1 |
|
This also happens -on imported svg's -on rotation by mouse |
|
Maciej, can you please retest this with 1338cvs? |
|
Maciej, can you please retest this with 1338cvs? |
|
Just tested this with 1.3.3.8cvs and it seems to be fixed. |
|
Well, let me qualify that. Rotation is fixed and works OK. BUT if you then try to adjust Height or Width, things go haywire. Hard to even describe what's happening - page shifts, and so does the group. |
|
This is with the 4 February 2007 cvs by the way. |
|
Tried again with version 9 February 2007, same thing. |
|
tested with 1.3.3.8 from February 9: -- issue 2. from the description seems to be gone now, both for manually created groups of both shapes and lines, and for the grouped lines created with the attached postalcode.py -- issue 1.: the inoperable rotation point for grouped lines seems to be (wrongly) inherited from the properties of the grouped lines -- you cannot change the rotation point, even if you group lines along with _shapes_ -- agree with Greg that changing height/width of the grouped lines leads to some unpredictable behaviour: in my case, I slightly changed the width of the grouped lines, then set the rotation to 1 degree, and the group leaped off the page |
Date Modified | Username | Field | Change |
---|---|---|---|
2006-02-26 21:10 | gpittman | New Issue | |
2006-02-26 21:10 | gpittman | File Added: postalcode.py | |
2006-04-18 16:45 | mhanski | Note Added: 0010101 | |
2006-04-18 16:45 | mhanski | Status | new => confirmed |
2006-04-18 16:46 | mhanski | OS Version | FC4 => any |
2006-04-18 16:46 | mhanski | Platform | => any |
2006-04-18 16:46 | mhanski | Product Version | 1.3.3cvs => 1.3.3.1 |
2006-04-18 16:46 | mhanski | Build | 25 February 2006 => |
2006-04-22 09:01 | mhanski | Relationship added | related to 0003689 |
2006-04-22 09:32 | rdebel | Note Added: 0010301 | |
2006-04-22 09:48 | mhanski | Relationship deleted | related to 0003689 |
2006-04-22 09:49 | mhanski | Relationship added | has duplicate 0003689 |
2006-05-13 17:00 | christoph_s | Relationship added | child of 0003812 |
2006-05-17 18:42 | christoph_s | Relationship added | related to 0002931 |
2007-02-11 20:30 | cbradney | Note Added: 0015206 | |
2007-02-11 20:30 | cbradney | Note Added: 0015207 | |
2007-02-11 21:16 | gpittman | Note Added: 0015210 | |
2007-02-11 21:24 | gpittman | Note Added: 0015211 | |
2007-02-11 21:25 | gpittman | Note Added: 0015212 | |
2007-02-11 22:08 | gpittman | Note Added: 0015214 | |
2007-02-12 08:35 | mhanski | Note Added: 0015217 | |
2008-12-22 21:34 | cbradney | Status | confirmed => assigned |
2008-12-22 21:34 | cbradney | Assigned To | => pierremarchand |
2008-12-22 21:34 | cbradney | Status | assigned => resolved |
2008-12-22 21:34 | cbradney | Fixed in Version | => 1.3.5svn |
2008-12-22 21:34 | cbradney | Resolution | open => fixed |
2008-12-22 21:35 | cbradney | Status | resolved => closed |