ilayermanager.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: ILayerManager.h
00004 
00005     DESCRIPTION: Declaration of the ILayerManager interface
00006 
00007     CREATED BY: Peter Sauerbrei
00008 
00009     HISTORY: Created 19 October 1998
00010 
00011  *> Copyright (c) 1998-99, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 #pragma once
00015 #include "ref.h"
00016 
00017 class ILayer;
00018 class LayerIterator;
00019 class ConstLayerIterator;
00020 
00022 
00029 class ILayerManager : public ReferenceTarget
00030 {
00031 public:
00033     static const SClass_ID kLayerManagerSuperClassID;
00034 
00035     // From Animatable
00036     SClass_ID SuperClassID() { return kLayerManagerSuperClassID; }
00037 
00038     // local methods ---------------------------
00044     virtual bool AddLayer(ILayer * layer) = 0;
00047     virtual ILayer * CreateLayer(void) = 0;                 // creates a new layer
00048     virtual ILayer * CreateLayer(MSTR& name) = 0;           // creates a new layer given a name
00052     virtual BOOL DeleteLayer(const MSTR & name) = 0;
00057     virtual void SetCurrentLayer(const MSTR & name) = 0;    // sets the current layer
00060     virtual void SetCurrentLayer(void) = 0;
00062     virtual ILayer * GetCurrentLayer(void) const = 0;       // gets the current layer
00068     virtual void EditLayer(const MSTR & name) = 0;
00074     virtual void DoLayerPropDialog(HWND hWnd) = 0;
00076     virtual int GetLayerCount(void) = 0;
00078     virtual ILayer* GetLayer(int) const = 0;
00083     virtual ILayer* GetLayer(const MSTR & name) const = 0;
00089     virtual void DoLayerSelDialog(HWND hWnd) = 0;
00090     //virtual void SetupToolList(HWND hWnd) = 0;
00095     virtual void SetupToolList2(HWND hWnd, HWND hParent) = 0;
00105     virtual void ExtendMenu(HMENU hMenu, bool geometry = true, bool grid = false) = 0;
00106     virtual MSTR GetSavedLayer(int i) const = 0;
00108     virtual ILayer * GetRootLayer() const = 0;
00113     virtual void Reset(BOOL fileReset = FALSE) = 0;
00118     virtual void SelectObjectsByLayer(HWND hWnd) = 0;
00119 
00120     // new Hide/Freeze logic, 030516  --prs.
00121     virtual void SetPropagateToLayer(int prop) = 0;
00122     virtual int GetPropagateToLayer(void) = 0;
00123 };
00124