comparison layer/Layer.h @ 133:9e6b3e239b9d

* Add zoom thumbwheels to Pane. Implement horizontal thumbwheel, and vertical depending on layer type (supported for waveform and spectrogram, though wrong for log-scale spectrogram at the moment). * Add bare bones of a spectrum layer. * Add window icon * Add shortcut for "insert time instant" on laptops without keypad enter (";") * Delete FFT processing thread when it exits (at least, next time we're asked for something interesting) * Get audio file extensions from the file readers, and thus from libsndfile for the wave file reader -- leads to rather a wide combo box in file dialog though * Better refresh order for spectrogram (redraw centre section first)
author Chris Cannam
date Fri, 04 Aug 2006 17:01:37 +0000
parents eaae73b6bd28
children 10a82b2bbb8b
comparison
equal deleted inserted replaced
132:5d3a483856ff 133:9e6b3e239b9d
278 virtual bool setDisplayExtents(float /* min */, 278 virtual bool setDisplayExtents(float /* min */,
279 float /* max */) { 279 float /* max */) {
280 return false; 280 return false;
281 } 281 }
282 282
283 /**
284 * Get the number of vertical zoom steps available for this layer.
285 * If vertical zooming is not available, return 0. The meaning of
286 * "zooming" is entirely up to the layer -- changing the zoom
287 * level may cause the layer to reset its display extents or
288 * change another property such as display gain.
289 * Layers that provide this facility should also emit the
290 * verticalZoomChanged signal if their vertical zoom changes
291 * due to factors other than setVerticalZoomStep being called.
292 */
293 virtual int getVerticalZoomSteps(int &defaultStep) const { return 0; }
294
295 /**
296 * Get the current vertical zoom step. A layer may support finer
297 * control over ranges etc than is available through the integer
298 * zoom step mechanism; if this one does, it should just return
299 * the nearest of the available zoom steps to the current settings.
300 */
301 virtual int getCurrentVerticalZoomStep() const { return 0; }
302
303 /**
304 * Set the vertical zoom step. The meaning of "zooming" is
305 * entirely up to the layer -- changing the zoom level may cause
306 * the layer to reset its display extents or change another
307 * property such as display gain.
308 */
309 virtual void setVerticalZoomStep(int) { }
310
283 public slots: 311 public slots:
284 void showLayer(View *, bool show); 312 void showLayer(View *, bool show);
285 313
286 signals: 314 signals:
287 void modelChanged(); 315 void modelChanged();
290 void modelReplaced(); 318 void modelReplaced();
291 319
292 void layerParametersChanged(); 320 void layerParametersChanged();
293 void layerNameChanged(); 321 void layerNameChanged();
294 322
323 void verticalZoomChanged();
324
295 private: 325 private:
296 mutable QMutex m_dormancyMutex; 326 mutable QMutex m_dormancyMutex;
297 mutable std::map<const void *, bool> m_dormancy; 327 mutable std::map<const void *, bool> m_dormancy;
298 }; 328 };
299 329