Giter Club home page Giter Club logo

ipe's People

Contributors

hmenke avatar joescat avatar otfried avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ipe's Issues

Line attributes

I cannot change the dash style of a line.

The old procedure:

  • draw a line
  • Ctrl+click on the left column, on the yellow rectangle (the one to add arrows)
  • select the attributes of the line from the selection menu that appears

In the actual version the selection menu does not appear. Is there a new way to change line attributes (thickness, dash style, arrows style, opacity, etc).

Thank you,
Fulvio

Feature request: Implement links

Hi,

I'm using IPE predominantly to create presentations and it's working perfectly, except for one thing: I cannot include any movies / video files. Since the output is a pdf file, this seems quite logical to me. But I'm wondering if it is possible (as some kind of workaround) to insert a hyperlink into a presentation that calls a local(!) video file (placed in the same folder as the presentation). I tried many things, but wasn't able to find a solution. Can somebody help me please?

Regards

Cannot compile 7.1.9. on Ubuntu 15.10 (moc error)

Hi,

first I tried to build the source by doing exactly the steps in install.txt, but I kept getting a moc error. Sadly I did not record this particular one, but I remember it was error number 2 regarding ipecanvas.

Then I tried building according to the guide here, which is slightly different, and here is the result.

michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ sudo apt-get install libfreetype6-dev libcairo2-dev libjpeg8-dev
[sudo] password for michal: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libcairo2-dev is already the newest version.
libfreetype6-dev is already the newest version.
libjpeg8-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ sudo apt-get install liblua5.2-dev gsfonts
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gsfonts is already the newest version.
liblua5.2-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ make IPEPREFIX=/usr/local IPE_USE_ICONV=-DIPE_USE_ICONV
make --directory=ipelib all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make --directory=ipelets/lua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make --directory=ipetoipe all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make --directory=ipe6upgrade all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make --directory=ipeextract all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make --directory=ipelua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make --directory=ipescript all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make --directory=ipecairo all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make --directory=iperender all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make --directory=ipecanvas all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Running moc on ipecanvas_qt.h...
moc -o moc_ipecanvas_qt.cpp ipecanvas_qt.h
Compiling moc_ipecanvas_qt.cpp...
g++ -fPIC -Wall -g -O2 -fPIC -DIPEUI_QT -I../include -I../ipecairo -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5   -c -o ../../build/obj/ipecanvas/moc_ipecanvas_qt.o moc_ipecanvas_qt.cpp
moc_ipecanvas_qt.cpp:13:2: error: #error "This file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
moc_ipecanvas_qt.cpp:14:2: error: #error "cannot be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
moc_ipecanvas_qt.cpp:15:2: error: #error "(The moc has changed too much.)"
 #error "(The moc has changed too much.)"
  ^
moc_ipecanvas_qt.cpp:47:7: error: ‘QMetaObjectExtraData’ does not name a type
 const QMetaObjectExtraData ipe::Canvas::staticMetaObjectExtraData = {
       ^
moc_ipecanvas_qt.cpp:53:34: error: ‘staticMetaObjectExtraData’ was not declared in this scope
       qt_meta_data_ipe__Canvas, &staticMetaObjectExtraData }
                                  ^
moc_ipecanvas_qt.cpp: In member function ‘virtual const QMetaObject* ipe::Canvas::metaObject() const’:
moc_ipecanvas_qt.cpp:62:71: error: conditional expression between distinct pointer types ‘QDynamicMetaObjectData*’ and ‘const QMetaObject*’ lacks a cast
   return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaO
                                                                     ^
../common.mak:203: recipe for target '../../build/obj/ipecanvas/moc_ipecanvas_qt.o' failed
make[1]: *** [../../build/obj/ipecanvas/moc_ipecanvas_qt.o] Error 1
rm moc_ipecanvas_qt.cpp
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Makefile:48: recipe for target 'ipecanvas' failed
make: *** [ipecanvas] Error 2
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ sudo apt-get install checkinstall zlib1g-dev libqt4-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libqt4-dev is already the newest version.
zlib1g-dev is already the newest version.
checkinstall is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ sudo apt-get install libfreetype6-dev libcairo2-dev libjpeg8-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libcairo2-dev is already the newest version.
libfreetype6-dev is already the newest version.
libjpeg8-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ sudo apt-get install liblua5.2-dev gsfonts
Reading package lists... Done
Building dependency tree       
Reading state information... Done
gsfonts is already the newest version.
liblua5.2-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ make IPEPREFIX=/usr/local IPE_USE_ICONV=-DIPE_USE_ICONV
make --directory=ipelib all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make --directory=ipelets/lua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make --directory=ipetoipe all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make --directory=ipe6upgrade all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make --directory=ipeextract all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make --directory=ipelua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make --directory=ipescript all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make --directory=ipecairo all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make --directory=iperender all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make --directory=ipecanvas all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Running moc on ipecanvas_qt.h...
moc -o moc_ipecanvas_qt.cpp ipecanvas_qt.h
Compiling moc_ipecanvas_qt.cpp...
g++ -fPIC -Wall -g -O2 -fPIC -DIPEUI_QT -I../include -I../ipecairo -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5   -c -o ../../build/obj/ipecanvas/moc_ipecanvas_qt.o moc_ipecanvas_qt.cpp
moc_ipecanvas_qt.cpp:13:2: error: #error "This file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
moc_ipecanvas_qt.cpp:14:2: error: #error "cannot be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
moc_ipecanvas_qt.cpp:15:2: error: #error "(The moc has changed too much.)"
 #error "(The moc has changed too much.)"
  ^
moc_ipecanvas_qt.cpp:47:7: error: ‘QMetaObjectExtraData’ does not name a type
 const QMetaObjectExtraData ipe::Canvas::staticMetaObjectExtraData = {
       ^
moc_ipecanvas_qt.cpp:53:34: error: ‘staticMetaObjectExtraData’ was not declared in this scope
       qt_meta_data_ipe__Canvas, &staticMetaObjectExtraData }
                                  ^
moc_ipecanvas_qt.cpp: In member function ‘virtual const QMetaObject* ipe::Canvas::metaObject() const’:
moc_ipecanvas_qt.cpp:62:71: error: conditional expression between distinct pointer types ‘QDynamicMetaObjectData*’ and ‘const QMetaObject*’ lacks a cast
   return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaO
                                                                     ^
../common.mak:203: recipe for target '../../build/obj/ipecanvas/moc_ipecanvas_qt.o' failed
make[1]: *** [../../build/obj/ipecanvas/moc_ipecanvas_qt.o] Error 1
rm moc_ipecanvas_qt.cpp
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Makefile:48: recipe for target 'ipecanvas' failed
make: *** [ipecanvas] Error 2
michal@michal-ESPRIMO-P920:~/Tarballs/ipe-7.1.9/src$ make IPEPREFIX=/usr/local IPE_USE_ICONV=-DIPE_USE_ICONV
make --directory=ipelib all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelib'
make --directory=ipelets/lua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelets/lua'
make --directory=ipetoipe all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipetoipe'
make --directory=ipe6upgrade all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipe6upgrade'
make --directory=ipeextract all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipeextract'
make --directory=ipelua all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipelua'
make --directory=ipescript all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipescript'
make --directory=ipecairo all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecairo'
make --directory=iperender all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/iperender'
make --directory=ipecanvas all
make[1]: Entering directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Running moc on ipecanvas_qt.h...
moc -o moc_ipecanvas_qt.cpp ipecanvas_qt.h
Compiling moc_ipecanvas_qt.cpp...
g++ -fPIC -Wall -g -O2 -fPIC -DIPEUI_QT -I../include -I../ipecairo -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12  -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5   -c -o ../../build/obj/ipecanvas/moc_ipecanvas_qt.o moc_ipecanvas_qt.cpp
moc_ipecanvas_qt.cpp:13:2: error: #error "This file was generated using the moc from 4.8.6. It"
 #error "This file was generated using the moc from 4.8.6. It"
  ^
moc_ipecanvas_qt.cpp:14:2: error: #error "cannot be used with the include files from this version of Qt."
 #error "cannot be used with the include files from this version of Qt."
  ^
moc_ipecanvas_qt.cpp:15:2: error: #error "(The moc has changed too much.)"
 #error "(The moc has changed too much.)"
  ^
moc_ipecanvas_qt.cpp:47:7: error: ‘QMetaObjectExtraData’ does not name a type
 const QMetaObjectExtraData ipe::Canvas::staticMetaObjectExtraData = {
       ^
moc_ipecanvas_qt.cpp:53:34: error: ‘staticMetaObjectExtraData’ was not declared in this scope
       qt_meta_data_ipe__Canvas, &staticMetaObjectExtraData }
                                  ^
moc_ipecanvas_qt.cpp: In member function ‘virtual const QMetaObject* ipe::Canvas::metaObject() const’:
moc_ipecanvas_qt.cpp:62:71: error: conditional expression between distinct pointer types ‘QDynamicMetaObjectData*’ and ‘const QMetaObject*’ lacks a cast
   return QObject::d_ptr->metaObject ? QObject::d_ptr->metaObject : &staticMetaO
                                                                     ^
../common.mak:203: recipe for target '../../build/obj/ipecanvas/moc_ipecanvas_qt.o' failed
make[1]: *** [../../build/obj/ipecanvas/moc_ipecanvas_qt.o] Error 1
rm moc_ipecanvas_qt.cpp
make[1]: Leaving directory '/home/michal/Tarballs/ipe-7.1.9/src/ipecanvas'
Makefile:48: recipe for target 'ipecanvas' failed
make: *** [ipecanvas] Error 2

It is of course possible that this is no bug, just my inexperience with building things. Thank you.

Gridsize and angle dropdowns cut off option text (Mac)

In Ipe 7.2.2 on Mac, width of the the Grid and Angle dropdowns menus adjust to the width of their currently-selected option. When the menu is activated (dropped), only menu items narrower than
the currently-selected option are show in their entirety; others are abbreviated (cut off).
See the attached screenshots.

Is there a way to fix the widths of these menus, to accommodate the longest members, so that no abbreviation occurs? The changing size of the dropdown doesn't serve a useful purpose, here.

grid_menu_cutoff
angle_menu_cutoff

Save As: redundant "overwrite" dialogs on Mac

Ipe 7.2.2 on Mac:
When "saving as" an existing filename, the Save As dialog pops up its own
"___ already exists. Do you want to replace it?"
dialog. If one selects "Replace", then Ipe launches another
"File already exists. Do you wish to overwrite?"
dialog.

Secondary bug: this second dialog has a <br> tag that appears verbatim, instead of producing a line break.

brew install ipe

Hello

I am not sure if this is the right place to report this; if not, I apologise.

It seems that you have removed the ipe source files from Github, but the formula in Homebrew to install ipe has not been updated and curl fails.

Thanks.

Problems with eps

Hello

I use Maple (www.maplesoft.com) to create plots of mathematical functions, which I export to eps format. I then use epstopdf followed by pdftoipe so I can open the plot in Ipe to add things like Latex-style equations, arrows, etc. However, when I do this most of the options regarding line thickness, text size, etc cannot be changed. For example, when I right-click on an equation there is only one size option available, namely "normal". Or if a draw a line, the only pen width option available is "normal" and the only stroke colors available are "Black" and "White" and the only dash style available is "normal". Is there a way to allow all the options?

Any advice on this would be greatly appreciated.

Thanks!

Error: BadDrawable (invalid Pixmap or Window parameter) 9

Hello,
ipe was working good for me on my Ubuntu. After updates, I can still launch it, but I have the following error every time I move the mouse:
X Error: BadDrawable (invalid Pixmap or Window parameter) 9
Major opcode: 62 (X_CopyArea)
Resource id: 0x0
I can see just one button on the interface.
I am on Ubuntu 14.04-x86_64, Qt version 4.8.7.
It seems to be a issue with Qt, ldd /usr/bin/ipe have no missing link.

Do you think I have to compile it in order to install it properly ?
I installed it with sudo apt-get install ipe

Regards,
Vincent Rouvreau

Change default resolution png export

It's great that png file can now be exported directly from IPE! Just one issue: the output resolution is to low. Is it possible to change somewhere the default dpi value? I couldn't find one.

Thanks.

Missing menu bar

I installed the latest ipe version on my system (7.1.10) and I am missing the menu bar completely. I work with ubuntu 14.04 with gnome shell 3.10 and qt5 installed.

screenshot from 2015-11-24 17 43 09

Compiling on OS X is a mess

It is best to consider that OS X is just a unix machine. The best way for compiling ipe, until recently, has been to hack src/config.mak and treat OS X just like an ordinary unix machine. Just about every package available for Debian/Ubuntu/RHEL/etc.. is available on OS X by typing a command that is no longer than the equivalent one for Debian and co. It is very irritating to find that the last few releases of Ipe can all but not be compiled on OS X because the source files are inundated with halfhearted attempts at remedying one problem or another. Please make it possible for us to intentionally misspell "MACOS" and "Darwin" in the source files in one or a few places and henceforth OS X would be seen like a unix machine. Compilation is then entirely trivial. One just needs to have already installed Qt4 (<=7.1.9) or Qt5 (7.1.10), as well as texlive. These are massive packages that are best managed separately from Ipe. So whoever is maintaining the Ipe MacPort would help a lot by providing, in addition to or instead of, the Ipe MacPort with the full dependencies another Ipe MacPort that depends on neither texlive nor on Qt.

Hint: pkg-config --cflags and pkg-config --libs are available on OS X and work perfectly fine.

Combo box "optimization" on Ipe 7.2.2 on Mac OS X

There has been a recent change in behavior with the combo boxes under Mac OS X: if I reselect the currently selected item (e.g., "heavier" for line width), then no action is executed. In other programs, this isn't a problem...but it is problematic in Ipe. Here's why:

Historically, when you select an item in Ipe, its properties do not show up in the left-hand toolbox; instead it shows the properties of the last item you edited. Unfortunately, with the new optimization, this means that I may have to click twice to get the property I want: first click a property I don't want, then click the property I do want. Here's an example to illustrate:

1.) Make line segment #1.
2.) Make line segment #2. Decide to give it a "heavier" line width.
2.) Re-select line segment #1.
3.) Now, if I want to make it "heavier", I need to first select a different line width, then select "heavier." This is because the property still is listed as "heavier" even though line segment #1 is not really heavier. Therefore, if I select heavier, no action is executed.

System Specs:

Mac OS X 10.11.2 (15C50)
Ipe 7.2.2, prebuilt binary for Mac OS X

make Y (in)visible in view X

It would be more informative to say from view X onward or something like this for otherwise
it gives the impression that this behaves like clicking in the layer checkbox.

Keyboard shortcuts not working on Ubuntu

After upgrading from Ipe 7.1.9 to 7.2.1, half of the keyboard shortcuts stopped working for me. I now tried to upgrade to 7.2.2, but the problem persists.

Some keyboard shortcuts no longer work, while others do. The functions behind the broken shortcuts still work when I select them with the mouse (although some are not very useful this way, such as setting the origin (F1)).
In particular, as far as I can see, all shortcuts for toolbar buttons (such as tool selection, and the F4-F9 toggles) are still working. However, many other of the shortcuts to menu items (such as group, duplicate, send to front/back, save, creating views/pages, and shortcuts to ipelets) do not work. It is not exactly divided between toolbars / no toolbars though (interestingly, copy works but paste does not).

Since this has quite some impact and nobody else seems to have noticed, this may be an issue with my system. Nonetheless, I can't figure out what is wrong and this makes the latest versions unusable for me. Any idea what could be going on, or what I can do to fix this? Thanks!

I am running Ubuntu 14.04 LTS. I compiled Ipe from source. (No errors or warning during compilation, it looks the same as before.)

Compilation on OSX

Following the instructions for compilation of ipe (7.2.2) on OSX runs into the following error:

make[1]: *** No rule to make target mainmenu.xib', needed by ../../build/Ipe.app/Contents/Resources/mainmenu.nib'. Stop.

I guess the file mainmenu.xib is missing from the sources?

Snapping with splines is incorrect

It seems that there is a precision issue / bug with the snap-to-intersection mode if splines are involved.

To reproduce, draw two splines, or a line segment and a spline, that intersect each other. Enter the snap-to-intersection mode and hover above the intersection point. In many cases, the intersection point indicated by Fifi will be displaced slightly from the actual intersection.

A test case is here; I placed orange marks on the intersection points that Ipe indicates. Here is a screenshot of the worst case I could find:
schermafdruk3

I'm using Ipe 7.1.10 on Kubuntu (Linux).

OSX: Resizing window distorts canvas (minor cosmetic issue)

On OSX (7.2.2) using the cocoa interface, during the resizing of the ipe application window by dragging a corner of the window with the mouse, the canvas gets distorted (scaled). When releasing the mouse, the canvas updates correctly again.

Here is what it looks like (only during the actual resizing of the window):

ipe_resizing_window

There is nothing really wrong with this, but it does look weird and unexpected. I am almost sure there is some simple property of the canvas that can be changed to get a more natural behavior (as it was before with Qt).

OSX: Color choosing dialog

Changing the color of an object works well if one use the menu with "written" colors (red, green, blue...)

Colors do not change if one click on the colored "square" on the left of the menu:

  • after click, a new window appears
  • click on the desired wheel of colors
  • close the window
  • the color of the selected object is unchanged.

Thank you,
Fulvio

Modifier keys in mouse.lua on Mac

I am trying to make use of all modifier keys on Mac (Shift, Control, Option, Command - which should map to Shift - Ctrl - Alt - Meta). So far, however, I am unable to assign the Meta key in any command.

In particular, I am trying to map
left-meta = "select",
which does nothing.

I am using Ipe 7.2.2. on an Yosemite MacOS X.

Importing figures verbatim

It would be useful to have a "verbatim import" feature in ipe. That is, importing a png or pdf, so that it becomes inserted in the ipe file, without modification. (Like xfig or pdftex)
This would fix two problems:

  1. The ipe pdf is sometimes much larger (e.g. 35 Mb) than the imported png image (e.g. 1.4 Mb)
  2. importing more than one pdf inside an ipe figure.

Save As not pre-populated (7.2.2 on Mac)

On Mac, the "Save As" dialog does not pre-populate the filename with the current filename (not even the base name without suffix.) Also, there are no file type options (.pdf, .ipe, .eps) to choose from. See attached screenshot.
saveas

While manually typing the desired filename and desired extension works fine, this is rather time consuming for the common workflow of "publishing" the current .ipe file to .pdf, with the same filename (just different extension). It requires either retyping the entire filename, or finding the current .ipe file in the file browser and then changing the extension. Ideally, "Save As" would propose the current filename, extension and all, rather than a blank filename. A dropdown to select .pdf/.ipe/.eps would then be a quick way to simply save a different file type.

[Come to think of it, an option to automatically save the same filename as both .ipe and .pdf each time file is saved, would be delightful. While I love Ipe's ability to edit the PDF files it generates, it occasionally happens that when viewing the PDF with another program, I inadvertently save over it, destroying the Ipe content. Thus I like to keep the Ipe files for editing in Ipe, and the PDF versions for quicklook or for using in documents.]

Panning during creation of objects

Panning (with the middle mouse button) is currently not possible during the creation of objects (e.g. lines, circle, ...), as a click with the middle mouse button creates the object and don't moves the canvas. This problem arises for example if the end of a line is outside the actual visible area. Sometimes it can be helpful to zoom out and in again with the mouse wheel, but this is not really practical.

marks and splines, graph mode

Ipe Version: 7.1.8
OS: mac os x el capitan

  1. place marks, connect them with splines and try select one of those marks. The mark will be selected together with its incident splines

  2. graph mode has a strange behaviour: when selecting a mark and editing it in graph mode, trying to drag the mark somewhere results in a circle appearing in the new (desired) position of the mark and the mark not moving.

Export as picture

Ipe is a very useful tool, but how about an export to our save to picture function? With formats like .png or similar

OSX El Capitain pdflatex error

Hi,
Just installed OSX El Capitain and when I try to run latex from Ipe I now get "An error occurred during the Pdflatex run"

This issue is probably related to https://tug.org/mactex/UpdatingForElCapitan.pdf. To fix my general latex setup I reinstalled mactex so that it fixed the new locations. Now that I tried running Ipe I get the above error. Could it be that Ipe is looking for pdflatex in the wrong place? I can however confirm that from my terminal running "pdflatex" work fine so it is in my system path. I am unsure how Ipe locates pdflatex and I am unable to find any settings so that I could point it to the right location..
I'm using the newest Ipe 7.1.8 and downloaded the precompiled .dmg file from your site.

ipe hangs when opening saved file with text

If I save a file with text in it and try to reopen it, it hangs and the CPU usage goes to 99%.
It started on Mac Yosemite OS and upgrading to El Capitan did not help.
ipe version - 7.1.7
I use MacTex - 2015
Other people in their systems can open the saved file I sent without any trouble.

support for *.png files with 8bit colours

Hi,

When I try to include a PNG image with reduced no. of colors IPE chrashes. I've been able to du this in previous versions but not in the newest. I can import full color png images, however, the filesize seems to increase dramatically (including a 235kb png yields a 23.8MB ipe file (or 17.7MB pdf).

best regards,
Jens

upgrade resolution for retina displays

Two issues actually:

  • Render drawing in full resolution on retina displays (partial support since 7.1.8)
  • Scalable icons that will look good at full resolution.

Double click should be treated as two single clicks

When Qt passes a double click event, the event should be treated as two single clicks if Ipe is not expecting a double click. For example, when using the Ink tool with a tablet input device, if two successive strokes have only a small time interval, they will be pass through by Qt as a double click, whereas it should be treated as two single clicks (strokes)

undocumented feature

If the latex code you include contains some TikZ code then it is likely not to be display correctly in ipe, ipeview or ipePresenter but if you export your ipe document as a PDF (using save as in ipe or ipetoipe -pdf) the TikZ code will be rendered perfectly in the generated PDF. So if you want to save precious time and not have to redraw in ipe some TikZ figure that option exists. It should also work for PSTricks etc.

Stylesheet update

Stylesheets are only updated if they are within the "styles" folder of IPE (IPE 7.1.8 / win). For example, the stylesheet "egu" is not updated in the following image.

2015-09-11 14_18_55

Order of loading ipelets in 7.1.8

If no IPELETPATH is set, then the ipelets in the system ipelet dir and the user ipelet dirs are loaded in the wrong order, or at least in an order that causes problems with some ipelets. Here's the problem: config.ipeletDirs is populated first with the system directory and then the user directories are prepended to this list. This means that user ipelets, including preferences and shortcuts are loaded before the system ipelets. Now, align.lua sets some shortcuts (should it do that at all?). The effect is that whatever shortcuts I set in my .ipe/ipelets/shortcuts.lua for these actions are overriden by the system settings. Here's the simple fix that seems to work:

Replace the following lines in main.lua:

  config.ipeletDirs = { config.system_ipelets }
  if config.platform == "win" then
    local userdir = os.getenv("USERPROFILE")
    if userdir then
      table.insert(config.ipeletDirs, 1, userdir .. "\\Ipelets")
    end
  else
    table.insert(config.ipeletDirs, 1, home .. "/.ipe/ipelets")
    if config.platform == "apple" then
      table.insert(config.ipeletDirs, 2, home .. "/Library/Ipe/Ipelets")
    end
  end

with

  config.ipeletDirs = { config.system_ipelets }
  if config.platform == "win" then                           
    local userdir = os.getenv("USERPROFILE")
    if userdir then
      config.ipeletDirs[#config.ipeletDirs + 1] = userdir .. "\\Ipelets"
    end
  else
    config.ipeletDirs[#config.ipeletDirs + 1] = home .. "/.ipe/ipelets"
    if config.platform == "apple" then
      config.ipeletDirs[#config.ipeletDirs + 1] = home .. "/Library/Ipe/Ipelets"
    end
  end

Images with transparency

... are currently not possible, because Ipe::Bitmap::readPNG does not set the colorKey of the bitmap.

Text with underscore causes latex error

Hi Otfried,

I've found that inputing text having underscore would cause latex errors.
The error message from trying to type in "underscore_causesError" is attached.
Looking at the output, it seems that underscore in text is messing with latex, and a temporary fix would be writing "underscore_notToCauseError".

Machine: Retina MBP Mid-2015 with OS X 10.10.5.
Latex info is in the file.

Thanks.
Ipe_error_running_latex.txt

Steve

Cursor leaves a bunch of copies of itself when moving around (osx)

Usually after selecting a new tool with grid snapping on, the first time I use the tool the cursor doesn't erase itself as it moves around the screen. (see attached screenshot) Happens with other objects too (like the whole image when panning the canvas).
Ipe version 7.2.1
OSX version 10.11.2 (El Capitan)

screen shot 2016-01-08 at 1 43 34 pm

Enter closes paragraph window

When editing a paragraph, pressing the enter key closes the window instead of jumping to a new line (IPE 7.1.8 / win).
2015-09-11 14_11_33

lua 5.3 compatibility

Currently, ipe does not compile with lua 5.3.

However, as far as I can tell, this can be easily fixed by replacing the now deprecated luaL_checkint and luaL_optlong by (int)luaL_checkinteger and (long)lueL_optinteger. These used to be defined in this way by macros, but this is no longer so.

This makes ipe 7.1.8 compile with lua 5.3 (at least with 5.2 compatibility mode turned on), and seems to work fine.

I attach a patch file that performs these changes:

diff --git a/src/ipe/lfs.cpp b/src/ipe/lfs.cpp
index 2bd23fe..4f3ceaa 100644
--- a/src/ipe/lfs.cpp
+++ b/src/ipe/lfs.cpp
@@ -272,8 +272,8 @@ static int lfs_f_setmode(lua_State *L) {
 static int file_lock (lua_State *L) {
    FILE *fh = check_file (L, 1, "lock");
    const char *mode = luaL_checkstring (L, 2);
-   const long start = luaL_optlong (L, 3, 0);
-   long len = luaL_optlong (L, 4, 0);
+   const long start = (long)luaL_optinteger (L, 3, 0);
+   long len = (long)luaL_optinteger (L, 4, 0);
    if (_file_lock (L, fh, mode, start, len, "lock")) {
        lua_pushboolean (L, 1);
        return 1;
@@ -293,8 +293,8 @@ static int file_lock (lua_State *L) {
 */
 static int file_unlock (lua_State *L) {
    FILE *fh = check_file (L, 1, "unlock");
-   const long start = luaL_optlong (L, 2, 0);
-   long len = luaL_optlong (L, 3, 0);
+   const long start = (long)luaL_optinteger (L, 2, 0);
+   long len = (long)luaL_optinteger (L, 3, 0);
    if (_file_lock (L, fh, "u", start, len, "unlock")) {
        lua_pushboolean (L, 1);
        return 1;
diff --git a/src/ipe/uilua.cpp b/src/ipe/uilua.cpp
index 4d2d566..4e725cc 100644
--- a/src/ipe/uilua.cpp
+++ b/src/ipe/uilua.cpp
@@ -190,7 +190,7 @@ static int appui_setSnap(lua_State *L)
   lua_pop(L, 1);
   lua_getfield(L, -1, "gridsize");
   if (!lua_isnil(L, -1))
-    snap.iGridSize = luaL_checkint(L, -1);
+    snap.iGridSize = (int)luaL_checkinteger(L, -1);
   lua_pop(L, 1);
   lua_getfield(L, -1, "anglesize");
   if (!lua_isnil(L, -1))
@@ -198,7 +198,7 @@ static int appui_setSnap(lua_State *L)
   lua_pop(L, 1);
   lua_getfield(L, -1, "snap_distance");
   if (!lua_isnil(L, -1))
-    snap.iSnapDistance = luaL_checkint(L, -1);
+    snap.iSnapDistance = (int)luaL_checkinteger(L, -1);
   lua_pop(L, 1);
   lua_getfield(L, -1, "with_axes");
   if (!lua_isnil(L, -1))
@@ -375,7 +375,7 @@ static int shapetool_setshape(lua_State *L)
   Shape shape = check_shape(L, 1);
   int which = 0;
   if (!lua_isnoneornil(L, 2))
-    which = luaL_checkint(L, 2);
+    which = (int)luaL_checkinteger(L, 2);
   double pen = 1.0;
   if (lua_isnumber(L, 3))
     pen = luaL_checknumber(L, 3);
diff --git a/src/ipelua/ipelib.cpp b/src/ipelua/ipelib.cpp
index 9f0d7d0..39f97e3 100644
--- a/src/ipelua/ipelib.cpp
+++ b/src/ipelua/ipelib.cpp
@@ -140,7 +140,7 @@ static int document_tostring(lua_State *L)

 static int check_pageno(lua_State *L, int i, Document *d, int extra = 0)
 {
-  int n = luaL_checkint(L, i);
+  int n = (int)luaL_checkinteger(L, i);
   luaL_argcheck(L, 1 <= n && n <= d->countPages() + extra, i,
        "invalid page number");
   return n - 1;
@@ -172,7 +172,7 @@ static int document_len(lua_State *L)
 static int document_page_iterator(lua_State *L)
 {
   Document **d = check_document(L, 1);
-  int i = luaL_checkint(L, 2);
+  int i = (int)luaL_checkinteger(L, 2);
   i = i + 1;
   if (i <= (*d)->countPages()) {
     lua_pushnumber(L, i);               // new counter
diff --git a/src/ipelua/ipeluaipelet.cpp b/src/ipelua/ipeluaipelet.cpp
index 721746d..30f3b85 100644
--- a/src/ipelua/ipeluaipelet.cpp
+++ b/src/ipelua/ipeluaipelet.cpp
@@ -197,12 +197,12 @@ bool Helper::getString(const char *prompt, String &str)
 static int ipelet_run(lua_State *L)
 {
   Ipelet **p = check_ipelet(L, 1);
-  int num = luaL_checkint(L, 2) - 1;  // Lua counts starting from one
+  int num = (int)luaL_checkinteger(L, 2) - 1;  // Lua counts starting from one
   IpeletData data;
   data.iPage = check_page(L, 3)->page;
   data.iDoc = *check_document(L, 4);
-  data.iPageNo = luaL_checkint(L, 5);
-  data.iView = luaL_checkint(L, 6);
+  data.iPageNo = (int)luaL_checkinteger(L, 5);
+  data.iView = (int)luaL_checkinteger(L, 6);
   data.iLayer = check_layer(L, 7, data.iPage);
   check_allattributes(L, 8, data.iAttributes);
   // data.iSnap;
diff --git a/src/ipelua/ipeluapage.cpp b/src/ipelua/ipeluapage.cpp
index 2f03a6e..0000b3c 100644
--- a/src/ipelua/ipeluapage.cpp
+++ b/src/ipelua/ipeluapage.cpp
@@ -49,7 +49,7 @@ void ipelua::push_page(lua_State *L, Page *page, bool owned)

 static int check_objno(lua_State *L, int i, Page *p, int extra = 0)
 {
-  int n = luaL_checkint(L, i);
+  int n = (int)luaL_checkinteger(L, i);
   luaL_argcheck(L, 1 <= n && n <= p->count() + extra,
        i, "invalid object index");
   return n - 1;
@@ -65,7 +65,7 @@ int ipelua::check_layer(lua_State *L, int i, Page *p)

 int ipelua::check_viewno(lua_State *L, int i, Page *p, int extra)
 {
-  int n = luaL_checkint(L, i);
+  int n = (int)luaL_checkinteger(L, i);
   luaL_argcheck(L, 1 <= n && n <= p->countViews() + extra,
        i, "invalid view index");
   return n - 1;
@@ -151,7 +151,7 @@ static TSelect check_select(lua_State *L, int index)
 {
   TSelect w = ENotSelected;
   if (!lua_isnoneornil(L, index)) {
-    if (luaL_checkint(L, index) == 1)
+    if ((int)luaL_checkinteger(L, index) == 1)
       w = EPrimarySelected;
     else
       w = ESecondarySelected;
@@ -163,7 +163,7 @@ static TSelect check_select(lua_State *L, int index)
 static int page_object_iterator(lua_State *L)
 {
   Page *p = check_page(L, 1)->page;
-  int i = luaL_checkint(L, 2);
+  int i = (int)luaL_checkinteger(L, 2);
   i = i + 1;
   if (i <= p->count()) {
     lua_pushnumber(L, i);                            // new counter
@@ -288,7 +288,7 @@ static int page_moveLayer(lua_State *L)
 {
   Page *p = check_page(L, 1)->page;
   int index = check_layer(L, 2, p);
-  int newIndex = luaL_checkint(L, 3) - 1;
+  int newIndex = (int)luaL_checkinteger(L, 3) - 1;
   luaL_argcheck(L, 0 <= newIndex && newIndex < p->countLayers(),
        3, "invalid target index");
   p->moveLayer(index, newIndex);
diff --git a/src/ipelua/ipeluastyle.cpp b/src/ipelua/ipeluastyle.cpp
index 5dae4be..22b5a12 100644
--- a/src/ipelua/ipeluastyle.cpp
+++ b/src/ipelua/ipeluastyle.cpp
@@ -479,7 +479,7 @@ static int cascade_count(lua_State *L)
 static int cascade_sheet(lua_State *L)
 {
   Cascade *p = check_cascade(L, 1)->cascade;
-  int index = luaL_checkint(L, 2);
+  int index = (int)luaL_checkinteger(L, 2);
   luaL_argcheck(L, 1 <= index && index <= p->count(), 2, "index out of bounds");
   push_sheet(L, p->sheet(index - 1), false);
   return 1;
@@ -488,7 +488,7 @@ static int cascade_sheet(lua_State *L)
 static int cascade_insert(lua_State *L)
 {
   Cascade *p = check_cascade(L, 1)->cascade;
-  int index = luaL_checkint(L, 2);
+  int index = (int)luaL_checkinteger(L, 2);
   luaL_argcheck(L, 1 <= index && index <= p->count() + 1,
        2, "index out of bounds");
   SSheet *s = check_sheet(L, 3);
@@ -503,7 +503,7 @@ static int cascade_insert(lua_State *L)
 static int cascade_remove(lua_State *L)
 {
   Cascade *p = check_cascade(L, 1)->cascade;
-  int index = luaL_checkint(L, 2);
+  int index = (int)luaL_checkinteger(L, 2);
   luaL_argcheck(L, 1 <= index && index <= p->count(),
        2, "index out of bounds");
   p->remove(index - 1);
diff --git a/src/ipescript/lfs.cpp b/src/ipescript/lfs.cpp
index 2bd23fe..4f3ceaa 100644
--- a/src/ipescript/lfs.cpp
+++ b/src/ipescript/lfs.cpp
@@ -272,8 +272,8 @@ static int lfs_f_setmode(lua_State *L) {
 static int file_lock (lua_State *L) {
    FILE *fh = check_file (L, 1, "lock");
    const char *mode = luaL_checkstring (L, 2);
-   const long start = luaL_optlong (L, 3, 0);
-   long len = luaL_optlong (L, 4, 0);
+   const long start = (long)luaL_optinteger (L, 3, 0);
+   long len = (long)luaL_optinteger (L, 4, 0);
    if (_file_lock (L, fh, mode, start, len, "lock")) {
        lua_pushboolean (L, 1);
        return 1;
@@ -293,8 +293,8 @@ static int file_lock (lua_State *L) {
 */
 static int file_unlock (lua_State *L) {
    FILE *fh = check_file (L, 1, "unlock");
-   const long start = luaL_optlong (L, 2, 0);
-   long len = luaL_optlong (L, 3, 0);
+   const long start = (long)luaL_optinteger (L, 2, 0);
+   long len = (long)luaL_optinteger (L, 3, 0);
    if (_file_lock (L, fh, "u", start, len, "unlock")) {
        lua_pushboolean (L, 1);
        return 1;
diff --git a/src/ipeui/ipeui_common.cpp b/src/ipeui/ipeui_common.cpp
index b210083..c428e27 100644
--- a/src/ipeui/ipeui_common.cpp
+++ b/src/ipeui/ipeui_common.cpp
@@ -190,14 +190,14 @@ int Dialog::add(lua_State *L)
   luaL_checktype(L, 4, LUA_TTABLE);
   m.lua_method = LUA_NOREF;
   m.flags = 0;
-  m.row = luaL_checkint(L, 5) - 1;
-  m.col = luaL_checkint(L, 6) - 1;
+  m.row = (int)luaL_checkinteger(L, 5) - 1;
+  m.col = (int)luaL_checkinteger(L, 6) - 1;
   m.rowspan = 1;
   m.colspan = 1;
   if (!lua_isnoneornil(L, 7))
-    m.rowspan = luaL_checkint(L, 7);
+    m.rowspan = (int)luaL_checkinteger(L, 7);
   if (!lua_isnoneornil(L, 8))
-    m.colspan = luaL_checkint(L, 8);
+    m.colspan = (int)luaL_checkinteger(L, 8);
   if (m.row + m.rowspan > iNoRows)
     iNoRows = m.row + m.rowspan;
   if (m.col + m.colspan > iNoCols)
@@ -412,7 +412,7 @@ void Dialog::setUnmapped(lua_State *L, int idx)
   case EList:
   case ECombo:
     if (lua_isnumber(L, 3)) {
-      int n = luaL_checkint(L, 3);
+      int n = (int)luaL_checkinteger(L, 3);
       luaL_argcheck(L, 1 <= n && n <= int(m.items.size()), 3,
            "list index out of bounds");
       m.value = n - 1;
@@ -492,8 +492,8 @@ int Dialog::setStretch(lua_State *L)
     iRowStretch.push_back(0);

   int type = luaL_checkoption(L, 2, 0, typenames);
-  int rowcol = luaL_checkint(L, 3) - 1;
-  int stretch = luaL_checkint(L, 4);
+  int rowcol = (int)luaL_checkinteger(L, 3) - 1;
+  int stretch = (int)luaL_checkinteger(L, 4);

   if (type == 0) {
     luaL_argcheck(L, 0 <= rowcol && rowcol < iNoRows, 3,
diff --git a/src/ipeui/ipeui_gtk.cpp b/src/ipeui/ipeui_gtk.cpp
index ef9f50b..5a7a379 100644
--- a/src/ipeui/ipeui_gtk.cpp
+++ b/src/ipeui/ipeui_gtk.cpp
@@ -455,8 +455,8 @@ PMenu::~PMenu()

 int PMenu::execute(lua_State *L)
 {
-  iPopupX = luaL_checkint(L, 2);
-  iPopupY = luaL_checkint(L, 3);
+  iPopupX = (int)luaL_checkinteger(L, 2);
+  iPopupY = (int)luaL_checkinteger(L, 3);
   iSelectedItem = -1;
   gtk_menu_popup(GTK_MENU(iMenu), NULL, NULL,
         // GtkMenuPositionFunc(positionResponse), this,
@@ -697,7 +697,7 @@ static int ipeui_messageBox(lua_State *L)
     details = luaL_checkstring(L, 4);
   int buttons = 0;
   if (lua_isnumber(L, 5))
-    buttons = luaL_checkint(L, 5);
+    buttons = (int)luaL_checkinteger(L, 5);
   else if (!lua_isnoneornil(L, 5))
     buttons = luaL_checkoption(L, 5, 0, buttontype);

@@ -824,7 +824,7 @@ gboolean PTimer::elapsed()
 // does not update interval on running timer
 int PTimer::setInterval(lua_State *L)
 {
-  int t = luaL_checkint(L, 2);
+  int t = (int)luaL_checkinteger(L, 2);
   iInterval = t;
   return 0;
 }
diff --git a/src/ipeui/ipeui_qt.cpp b/src/ipeui/ipeui_qt.cpp
index 4eeaaf3..349533b 100644
--- a/src/ipeui/ipeui_qt.cpp
+++ b/src/ipeui/ipeui_qt.cpp
@@ -465,8 +465,8 @@ PMenu::~PMenu()

 int PMenu::execute(lua_State *L)
 {
-  int vx = luaL_checkint(L, 2);
-  int vy = luaL_checkint(L, 3);
+  int vx = (int)luaL_checkinteger(L, 2);
+  int vy = (int)luaL_checkinteger(L, 3);
   QAction *a = iMenu->exec(QPoint(vx, vy));
   MenuAction *ma = qobject_cast<MenuAction *>(a);
   if (ma) {
@@ -657,7 +657,7 @@ void PTimer::elapsed()

 int PTimer::setInterval(lua_State *L)
 {
-  int t = luaL_checkint(L, 2);
+  int t = (int)luaL_checkinteger(L, 2);
   iTimer->setInterval(t);
   return 0;
 }
@@ -812,7 +812,7 @@ static int ipeui_messageBox(lua_State *L)
     details = luaL_checkstring(L, 4);
   int buttons = 0;
   if (lua_isnumber(L, 5))
-    buttons = luaL_checkint(L, 5);
+    buttons = (int)luaL_checkinteger(L, 5);
   else if (!lua_isnoneornil(L, 5))
     buttons = luaL_checkoption(L, 5, 0, buttontype);

diff --git a/src/ipeui/ipeui_win.cpp b/src/ipeui/ipeui_win.cpp
index b77fe8b..533579a 100644
--- a/src/ipeui/ipeui_win.cpp
+++ b/src/ipeui/ipeui_win.cpp
@@ -683,8 +683,8 @@ PMenu::~PMenu()

 int PMenu::execute(lua_State *L)
 {
-  int vx = luaL_checkint(L, 2);
-  int vy = luaL_checkint(L, 3);
+  int vx = (int)luaL_checkinteger(L, 2);
+  int vy = (int)luaL_checkinteger(L, 3);
   int result = TrackPopupMenu(hMenu,
                  TPM_NONOTIFY | TPM_RETURNCMD | TPM_RIGHTBUTTON,
                  vx, vy, 0, hwnd, NULL);
@@ -878,7 +878,7 @@ void PTimer::elapsed()

 int PTimer::setInterval(lua_State *L)
 {
-  int t = luaL_checkint(L, 2);
+  int t = (int)luaL_checkinteger(L, 2);
   iInterval = t;
   if (iTimer)
     SetTimer(NULL, iTimer, iInterval, TimerProc);
@@ -1054,7 +1054,7 @@ static int ipeui_messageBox(lua_State *L)
     details = luaL_checkstring(L, 4);
   int buttons = 0;
   if (lua_isnumber(L, 5))
-    buttons = luaL_checkint(L, 5);
+    buttons = (int)luaL_checkinteger(L, 5);
   else if (!lua_isnoneornil(L, 5))
     buttons = luaL_checkoption(L, 5, 0, buttontype);

Can't run Ipe 7.2.1 on Mac OS X 10.10.4 and 10.9.5

Ipe simply won't start. If I try to run it from the shell I get this error message:

$ /Applications/Ipe.app/Contents/MacOS/ipe
2016-01-09 11:56:10.198 ipe[667:9354] -[NSBox addLayoutGuide:]: unrecognized selector sent to instance 0x7feeb2e30500
2016-01-09 11:56:10.200 ipe[667:9354] -[NSBox addLayoutGuide:]: unrecognized selector sent to instance 0x7feeb2e30500
2016-01-09 11:56:10.201 ipe[667:9354] (
    0   CoreFoundation                      0x00007fff852af03c __exceptionPreprocess + 172
    1   libobjc.A.dylib                     0x00007fff90f9676e objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff852b20ad -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
    3   CoreFoundation                      0x00007fff851f7e24 ___forwarding___ + 1028
    4   CoreFoundation                      0x00007fff851f7998 _CF_forwarding_prep_0 + 120
    5   ipe                                 0x000000010cd75e4c _ZN5AppUi18makePropertiesToolEv + 3328
    6   ipe                                 0x000000010cd740dc _ZN5AppUiC2EP9lua_Statei + 1030
    7   ipe                                 0x000000010cd79ac5 _Z11createAppUiP9lua_Statei + 43
    8   ipe                                 0x000000010cd6dc99 _ZL17appui_constructorP9lua_State + 128
    9   liblua53.dylib                      0x000000010cee848b luaD_precall + 363
    10  liblua53.dylib                      0x000000010cef89c1 luaV_execute + 11425
    11  liblua53.dylib                      0x000000010cee872f luaD_call + 79
    12  liblua53.dylib                      0x000000010cee2a22 lua_callk + 82
    13  liblua53.dylib                      0x000000010cf05971 ll_require + 449
    14  liblua53.dylib                      0x000000010cee848b luaD_precall + 363
    15  liblua53.dylib                      0x000000010cef89c1 luaV_execute + 11425
    16  liblua53.dylib                      0x000000010cee872f luaD_call + 79
    17  liblua53.dylib                      0x000000010cee78a9 luaD_rawrunprotected + 89
    18  liblua53.dylib                      0x000000010cee791b luaD_pcall + 75
    19  liblua53.dylib                      0x000000010cee291c lua_pcallk + 220
    20  ipe                                 0x000000010cd707c6 -[AppDelegate applicationWillFinishLaunching:] + 124
    21  CoreFoundation                      0x00007fff8526b45c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
    22  CoreFoundation                      0x00007fff8515b634 _CFXNotificationPost + 3140
    23  Foundation                          0x00007fff845379d1 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
    24  AppKit                              0x00007fff922a6e57 -[NSApplication finishLaunching] + 440
    25  AppKit                              0x00007fff922a6921 -[NSApplication run] + 128
    26  AppKit                              0x00007fff92223244 NSApplicationMain + 1832
    27  ipe                                 0x000000010cd68db4 start + 52
)

Style sheet external editor not available causes Ipe to get stuck

When I do: Edit > Style sheets > Edit, a window opens and displays "Waiting for external editor".
This puts Ipe to hang. The only way to get out of the situation is to kill Ipe.
It seems that Ipe doesn't find my editor. How is it requesting the editor? Where is it documented?

Expected behavior: if an editor is not available, it should be possible to go back to the software without having to kill Ipe.

Olivier, with Ipe 7.1.4 on Debian Linux

Double click to edit text

It would be great to edit a text object (text label or paragraph) with a double click (mouse). Of course, this can only work in "select mode".

ending lines

I cannot end a line with a final vtx, on mac.

  • Double click does not work
  • I am not sure I have a right-click on mac
  • In the old versions of Ipe I was used to do a click while holding CTRL. This combination does not work anymore.

Thank you,
Fulvio

Getting the wrong information from Tablet when Ipe is started after Tablet is plugged in

I am not sure if this is a bug/problem with Ipe or with Qt or something else. But the problem is as follows: If I start Ipe and then plug in my tablet input device, then I can use the tablet with no problem. But if the tablet is already plugged in when Ipe is started, then Ipe does not get the correct inputs from the tablet. For example, when using the INKTOOL, the set of positions obtained by Ipe using model.ui:pos() are as follows:

One Instance:

-1031.7204362801, 994.55109070034
65.068541905855, 622.53332353617
65.255030998852, 622.53332353617
BUTTON: 1 PRESS: false

Another Instance:

-1031.7204362801, 994.55109070034
189.31690011481, 580.69915774971
188.80405510907, 580.06975706085
188.33783237658, 579.56623650976
188.01147646383, 579.10467600459
187.73174282434, 578.81095568312
187.49863145809, 578.55919540758
187.3121423651, 578.47527531573
187.2188978186, 578.39135522388
BUTTON: 1 PRESS: false

Abnormalities: 1) The first position is definitely way off. 2) The two initial positions are identical. 3) A button release event is reported shortly after the pen is pressed, and after the pen has barely moved, even though the pen is still depressed. As a result of all these, it is impossible to use the INKTOOL with the tablet.

Workaround: The problem only happens when Ipe is started after the tablet is plugged. So it is possible to unbind the USB tablet device before starting Ipe, and then bind it again -- the software equivalent of unplugging the tablet, starting Ipe, and then plugging in the tablet.

Color of the selection

Hello,
In Ipe, the selected object is highlighted with a red line. Unfortunately I am color blind and I don't have red cones in my eyes (most common type of color blindness) => I can't notice red over black. I wish the color of the selection could be defined somewhere (in a config file for example).
Best regards,
Olivier

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.