@@ -1060,38 +1060,31 @@ -(void)save_figure:(id)sender
1060
1060
static int
1061
1061
NavigationToolbar2_init (NavigationToolbar2 *self, PyObject *args, PyObject *kwds)
1062
1062
{
1063
- PyObject* obj;
1064
1063
FigureCanvas* canvas;
1065
- View* view;
1066
-
1067
- int i;
1068
- NSRect rect;
1069
- NSSize size;
1070
- NSSize scale;
1064
+ const char * images[7 ];
1065
+ const char * tooltips[7 ];
1071
1066
1072
1067
const float gap = 2 ;
1073
1068
const int height = 36 ;
1074
1069
const int imagesize = 24 ;
1075
1070
1076
- self->height = height;
1077
-
1078
- obj = PyObject_GetAttrString ((PyObject*)self, " canvas" );
1079
- if (!obj) {
1080
- PyErr_SetString (PyExc_AttributeError, " Attempt to install toolbar for NULL canvas" );
1081
- return -1 ;
1082
- }
1083
- Py_DECREF (obj); /* Don't increase the reference count */
1084
- if (!PyObject_IsInstance (obj, (PyObject*) &FigureCanvasType)) {
1085
- PyErr_SetString (PyExc_TypeError, " Attempt to install toolbar for object that is not a FigureCanvas" );
1071
+ if (!PyArg_ParseTuple (args, " O!(sssssss)(sssssss)" ,
1072
+ &FigureCanvasType, &canvas,
1073
+ &images[0 ], &images[1 ], &images[2 ], &images[3 ],
1074
+ &images[4 ], &images[5 ], &images[6 ],
1075
+ &tooltips[0 ], &tooltips[1 ], &tooltips[2 ], &tooltips[3 ],
1076
+ &tooltips[4 ], &tooltips[5 ], &tooltips[6 ])) {
1086
1077
return -1 ;
1087
1078
}
1088
- canvas = (FigureCanvas*)obj;
1089
- view = canvas->view ;
1079
+
1080
+ View* view = canvas->view ;
1090
1081
if (!view) {
1091
1082
PyErr_SetString (PyExc_RuntimeError, " NSView* is NULL" );
1092
1083
return -1 ;
1093
1084
}
1094
1085
1086
+ self->height = height;
1087
+
1095
1088
NSRect bounds = [view bounds ];
1096
1089
NSWindow * window = [view window ];
1097
1090
@@ -1101,16 +1094,6 @@ -(void)save_figure:(id)sender
1101
1094
bounds.size .height += height;
1102
1095
[window setContentSize: bounds.size];
1103
1096
1104
- const char * images[7 ];
1105
- const char * tooltips[7 ];
1106
- if (!PyArg_ParseTuple (args, " (sssssss)(sssssss)" ,
1107
- &images[0 ], &images[1 ], &images[2 ], &images[3 ],
1108
- &images[4 ], &images[5 ], &images[6 ],
1109
- &tooltips[0 ], &tooltips[1 ], &tooltips[2 ], &tooltips[3 ],
1110
- &tooltips[4 ], &tooltips[5 ], &tooltips[6 ])) {
1111
- return -1 ;
1112
- }
1113
-
1114
1097
NSButton * buttons[7 ];
1115
1098
SEL actions[7 ] = {@selector (home: ),
1116
1099
@selector (back: ),
@@ -1127,23 +1110,23 @@ -(void)save_figure:(id)sender
1127
1110
NSButtonTypeMomentaryLight,
1128
1111
NSButtonTypeMomentaryLight};
1129
1112
1130
- rect.origin .x = 0 ;
1131
- rect.origin .y = 0 ;
1132
- rect.size .width = imagesize;
1133
- rect.size .height = imagesize;
1113
+ NSRect rect;
1114
+ NSSize size;
1115
+ NSSize scale;
1116
+
1117
+ rect = NSMakeRect (0 , 0 , imagesize, imagesize);
1134
1118
#ifdef COMPILING_FOR_10_7
1135
1119
rect = [window convertRectToBacking: rect];
1136
1120
#endif
1137
1121
size = rect.size ;
1138
- scale.width = imagesize / size.width ;
1139
- scale.height = imagesize / size.height ;
1122
+ scale = NSMakeSize (imagesize / size.width , imagesize / size.height );
1140
1123
1141
1124
rect.size .width = 32 ;
1142
1125
rect.size .height = 32 ;
1143
1126
rect.origin .x = gap;
1144
1127
rect.origin .y = 0.5 *(height - rect.size .height );
1145
1128
1146
- for (i = 0 ; i < 7 ; i++) {
1129
+ for (int i = 0 ; i < 7 ; i++) {
1147
1130
NSString * filename = [NSString stringWithCString: images[i]
1148
1131
encoding: NSUTF8StringEncoding];
1149
1132
NSString * tooltip = [NSString stringWithCString: tooltips[i]
0 commit comments