+ ///
+ CacheItem(support::FileName const & file);
+ /// Needed for the pimpl
+ ~CacheItem();
+
+ ///
+ support::FileName const & filename() const;
+
+ /// Try to load a display format.
+ bool tryDisplayFormat() const;
+
+ /// It's in the cache. Now start the loading process.
+ void startLoading() const;
+
+ /** Monitor any changes to the file.
+ * There is no point monitoring the file before startLoading() is
+ * invoked.
+ */
+ void startMonitoring() const;
+ ///
+ bool monitoring() const;
+ /** Returns the check checksum of filename() so that, for example, you can
+ * ascertain whether to output a new PostScript version of the file
+ * for a LaTeX run.
+ */
+ unsigned long checksum() const;
+
+ /** Get the image associated with filename().
+ * If the image is not yet loaded, returns 0.
+ * This routine returns a pointer to const; if you want to modify it,
+ * create a copy and modify that.
+ */
+ Image const * image() const;
+
+ /// How far have we got in loading the image?
+ ImageStatus status() const;
+
+ /** Connect and you'll be informed when the loading status of the image
+ * changes.
+ */
+ typedef boost::signal<void()> sig_type;
+ typedef sig_type::slot_type slot_type;
+ ///
+ boost::signals::connection connect(slot_type const &) const;
+