PageRenderTime 23ms CodeModel.GetById 0ms RepoModel.GetById 14ms app.codeStats 1ms

/IZWebFileManager/ToolbarOptions.cs

http://izwebfilemanager.googlecode.com/
C# | 141 lines | 113 code | 13 blank | 15 comment | 9 complexity | 4c48742253434432d32dbb10a83bf882 MD5 | raw file
  1. // Copyright (C) 2006 Igor Zelmanovich <izwebfilemanager@gmail.com>
  2. //
  3. // This program is free software; you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation; either version 2 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // This program is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License
  14. // along with this program; if not, write to the Free Software
  15. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  16. using System;
  17. using System.Collections.Generic;
  18. using System.Text;
  19. using System.Web.UI;
  20. using System.ComponentModel;
  21. namespace IZ.WebFileManager
  22. {
  23. [TypeConverter (typeof (ExpandableObjectConverter))]
  24. public sealed class ToolbarOptions
  25. {
  26. [Flags]
  27. enum OptionsEnum
  28. {
  29. ShowAll = 0xFF,
  30. ShowCopyButton = 0x01,
  31. ShowMoveButton = 0x02,
  32. ShowDeleteButton = 0x04,
  33. ShowRenameButton = 0x08,
  34. ShowFolderUpButton = 0x10,
  35. ShowViewButton = 0x20,
  36. ShowNewFolderButton = 0x40,
  37. ShowRefreshButton = 0x80,
  38. }
  39. internal ToolbarOptions (StateBag viewState) {
  40. _viewState = viewState;
  41. }
  42. StateBag _viewState;
  43. OptionsEnum Options {
  44. get { return _viewState ["ToolbarOptions"] == null ? OptionsEnum.ShowAll : (OptionsEnum) _viewState ["ToolbarOptions"]; }
  45. set { _viewState ["ToolbarOptions"] = value; }
  46. }
  47. [DefaultValue (true)]
  48. public bool ShowCopyButton {
  49. get { return (Options & OptionsEnum.ShowCopyButton) > 0; }
  50. set {
  51. if (value)
  52. Options |= OptionsEnum.ShowCopyButton;
  53. else
  54. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowCopyButton;
  55. }
  56. }
  57. [DefaultValue (true)]
  58. public bool ShowMoveButton {
  59. get { return (Options & OptionsEnum.ShowMoveButton) > 0; }
  60. set {
  61. if (value)
  62. Options |= OptionsEnum.ShowMoveButton;
  63. else
  64. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowMoveButton;
  65. }
  66. }
  67. [DefaultValue (true)]
  68. public bool ShowDeleteButton {
  69. get { return (Options & OptionsEnum.ShowDeleteButton) > 0; }
  70. set {
  71. if (value)
  72. Options |= OptionsEnum.ShowDeleteButton;
  73. else
  74. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowDeleteButton;
  75. }
  76. }
  77. [DefaultValue (true)]
  78. public bool ShowFolderUpButton {
  79. get { return (Options & OptionsEnum.ShowFolderUpButton) > 0; }
  80. set {
  81. if (value)
  82. Options |= OptionsEnum.ShowFolderUpButton;
  83. else
  84. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowFolderUpButton;
  85. }
  86. }
  87. [DefaultValue (true)]
  88. public bool ShowRenameButton {
  89. get { return (Options & OptionsEnum.ShowRenameButton) > 0; }
  90. set {
  91. if (value)
  92. Options |= OptionsEnum.ShowRenameButton;
  93. else
  94. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowRenameButton;
  95. }
  96. }
  97. [DefaultValue (true)]
  98. public bool ShowViewButton {
  99. get { return (Options & OptionsEnum.ShowViewButton) > 0; }
  100. set {
  101. if (value)
  102. Options |= OptionsEnum.ShowViewButton;
  103. else
  104. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowViewButton;
  105. }
  106. }
  107. [DefaultValue (true)]
  108. public bool ShowNewFolderButton {
  109. get { return (Options & OptionsEnum.ShowNewFolderButton) > 0; }
  110. set {
  111. if (value)
  112. Options |= OptionsEnum.ShowNewFolderButton;
  113. else
  114. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowNewFolderButton;
  115. }
  116. }
  117. [DefaultValue (true)]
  118. public bool ShowRefreshButton {
  119. get { return (Options & OptionsEnum.ShowRefreshButton) > 0; }
  120. set {
  121. if (value)
  122. Options |= OptionsEnum.ShowRefreshButton;
  123. else
  124. Options &= OptionsEnum.ShowAll ^ OptionsEnum.ShowRefreshButton;
  125. }
  126. }
  127. }
  128. }