221 |
{ |
{ |
222 |
printf("DimRegionChooser::on_size_request\n"); |
printf("DimRegionChooser::on_size_request\n"); |
223 |
*requisition = GtkRequisition(); |
*requisition = GtkRequisition(); |
224 |
requisition->height = region ? region->Dimensions * 20 : 0; |
requisition->height = region ? nbDimensions * 20 : 0; |
225 |
requisition->width = 800; |
requisition->width = 800; |
226 |
} |
} |
227 |
|
|
238 |
this->region = region; |
this->region = region; |
239 |
dimregno = 0; |
dimregno = 0; |
240 |
int bitcount = 0; |
int bitcount = 0; |
241 |
|
nbDimensions = 0; |
242 |
for (int dim = 0 ; dim < region->Dimensions ; dim++) { |
for (int dim = 0 ; dim < region->Dimensions ; dim++) { |
243 |
|
if (region->pDimensionDefinitions[dim].bits == 0) continue; |
244 |
|
nbDimensions++; |
245 |
|
|
246 |
int from = dimvalue_from[region->pDimensionDefinitions[dim].dimension]; |
int from = dimvalue_from[region->pDimensionDefinitions[dim].dimension]; |
247 |
int to = dimvalue_to[region->pDimensionDefinitions[dim].dimension]; |
int to = dimvalue_to[region->pDimensionDefinitions[dim].dimension]; |
248 |
int z; |
int z; |
279 |
const int w = 800; |
const int w = 800; |
280 |
|
|
281 |
if (region) { |
if (region) { |
282 |
if (event->y < region->Dimensions * h && |
if (event->y < nbDimensions * h && |
283 |
event->x >= label_width && event->x < w) { |
event->x >= label_width && event->x < w) { |
284 |
|
|
285 |
int dim = int(event->y / h); |
int ydim = int(event->y / h); |
286 |
|
int dim; |
287 |
|
for (dim = 0 ; dim < region->Dimensions ; dim++) { |
288 |
|
if (region->pDimensionDefinitions[dim].bits == 0) continue; |
289 |
|
if (ydim == 0) break; |
290 |
|
ydim--; |
291 |
|
} |
292 |
int nbZones = region->pDimensionDefinitions[dim].zones; |
int nbZones = region->pDimensionDefinitions[dim].zones; |
293 |
|
|
294 |
int z = -1; |
int z = -1; |