lleditmenuhandler.h
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:3k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2. * @file lleditmenuhandler.h
  3. * @authors Aaron Yonas, James Cook
  4. *
  5. * $LicenseInfo:firstyear=2006&license=viewergpl$
  6. * Copyright (c) 2006-2010, Linden Research, Inc.
  7. * Second Life Viewer Source Code
  8. * The source code in this file ("Source Code") is provided by Linden Lab
  9. * to you under the terms of the GNU General Public License, version 2.0
  10. * ("GPL"), unless you have obtained a separate licensing agreement
  11. * ("Other License"), formally executed by you and Linden Lab.  Terms of
  12. * the GPL can be found in doc/GPL-license.txt in this distribution, or
  13. * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
  14. * There are special exceptions to the terms and conditions of the GPL as
  15. * it is applied to this Source Code. View the full text of the exception
  16. * in the file doc/FLOSS-exception.txt in this software distribution, or
  17. * online at
  18. * http://secondlifegrid.net/programs/open_source/licensing/flossexception
  19. * By copying, modifying or distributing this software, you acknowledge
  20. * that you have read and understood your obligations described above,
  21. * and agree to abide by those obligations.
  22. * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
  23. * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
  24. * COMPLETENESS OR PERFORMANCE.
  25. * $/LicenseInfo$
  26. */
  27. #ifndef LLEDITMENUHANDLER_H
  28. #define LLEDITMENUHANDLER_H
  29. // Interface used by menu system for plug-in hotkey/menu handling
  30. class LLEditMenuHandler
  31. {
  32. public:
  33. // this is needed even though this is just an interface class.
  34. virtual ~LLEditMenuHandler() {};
  35. virtual void undo() {};
  36. virtual BOOL canUndo() const { return FALSE; }
  37. virtual void redo() {};
  38. virtual BOOL canRedo() const { return FALSE; }
  39. virtual void cut() {};
  40. virtual BOOL canCut() const { return FALSE; }
  41. virtual void copy() {};
  42. virtual BOOL canCopy() const { return FALSE; }
  43. virtual void paste() {};
  44. virtual BOOL canPaste() const { return FALSE; }
  45. // "delete" is a keyword
  46. virtual void doDelete() {};
  47. virtual BOOL canDoDelete() const { return FALSE; }
  48. virtual void selectAll() {};
  49. virtual BOOL canSelectAll() const { return FALSE; }
  50. virtual void deselect() {};
  51. virtual BOOL canDeselect() const { return FALSE; }
  52. virtual void duplicate() {};
  53. virtual BOOL canDuplicate() const { return FALSE; }
  54. // TODO: Instead of being a public data member, it would be better to hide it altogether
  55. // and have a "set" method and then a bunch of static versions of the cut, copy, paste
  56. // methods, etc that operate on the current global instance. That would drastically
  57. // simplify the existing code that accesses this global variable by putting all the
  58. // null checks in the one implementation of those static methods. -MG
  59. static LLEditMenuHandler* gEditMenuHandler;
  60. };
  61. #endif