nsISelectControlFrame.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. #ifndef nsISelectControlFrame_h___
  6. #define nsISelectControlFrame_h___
  7. #include "nsQueryFrame.h"
  8. /**
  9. * nsISelectControlFrame is the interface for combo boxes and listboxes
  10. */
  11. class nsISelectControlFrame : public nsQueryFrame
  12. {
  13. public:
  14. NS_DECL_QUERYFRAME_TARGET(nsISelectControlFrame)
  15. /**
  16. * Adds an option to the list at index
  17. */
  18. NS_IMETHOD AddOption(int32_t index) = 0;
  19. /**
  20. * Removes the option at index. The caller must have a live script
  21. * blocker while calling this method.
  22. */
  23. NS_IMETHOD RemoveOption(int32_t index) = 0;
  24. /**
  25. * Sets whether the parser is done adding children
  26. * @param aIsDone whether the parser is done adding children
  27. */
  28. NS_IMETHOD DoneAddingChildren(bool aIsDone) = 0;
  29. /**
  30. * Notify the frame when an option is selected
  31. */
  32. NS_IMETHOD OnOptionSelected(int32_t aIndex, bool aSelected) = 0;
  33. /**
  34. * Notify the frame when selectedIndex was changed. This might
  35. * destroy the frame.
  36. */
  37. NS_IMETHOD OnSetSelectedIndex(int32_t aOldIndex, int32_t aNewIndex) = 0;
  38. };
  39. #endif