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