1 /* 2 Project: Graphos 3 GRObjectEditor.h 4 5 Copyright (C) 2008-2013 GNUstep Application Project 6 7 Author: Ing. Riccardo Mottola 8 9 Created: 2008-02-25 10 11 This application is free software; you can redistribute it and/or 12 modify it under the terms of the GNU General Public 13 License as published by the Free Software Foundation; either 14 version 2 of the License, or (at your option) any later version. 15 16 This application is distributed in the hope that it will be useful, 17 but WITHOUT ANY WARRANTY; without even the implied warranty of 18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 Library General Public License for more details. 20 21 You should have received a copy of the GNU General Public 22 License along with this library; if not, write to the Free 23 Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 24 */ 25 26 27 #import <Foundation/Foundation.h> 28 #import "GRDrawableObject.h" 29 30 /** 31 * This abstract class is the companion of the GRDrawableObject class. 32 * It defines the most generic behaviour of an object editor. 33 */ 34 @interface GRObjectEditor : NSObject <NSCopying> 35 { 36 GRDrawableObject *object; 37 BOOL groupSelected; 38 BOOL editSelected; 39 BOOL isValid; 40 BOOL isDone; 41 } 42 43 - (id)initEditor:(GRDrawableObject *)anObject; 44 - (void)setObject:(GRDrawableObject *)anObject; 45 - (void)select; 46 - (void)selectAsGroup; 47 - (void)selectForEditing; 48 - (BOOL)isSelected; 49 - (BOOL)isGroupSelected; 50 - (void)unselect; 51 - (BOOL)isEditSelected; 52 - (BOOL)isDone; 53 - (void)setIsDone:(BOOL)status; 54 - (void)setIsValid:(BOOL)value; 55 - (BOOL)isValid; 56 - (void)draw; 57 58 @end 59