123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- #ifndef nsITextControlFrame_h___
- #define nsITextControlFrame_h___
-
- #include "nsIFormControlFrame.h"
- class nsIEditor;
- class nsISelectionController;
- class nsFrameSelection;
- class nsITextControlFrame : public nsIFormControlFrame
- {
- public:
- NS_DECL_QUERYFRAME_TARGET(nsITextControlFrame)
- enum SelectionDirection {
- eNone,
- eForward,
- eBackward
- };
- NS_IMETHOD GetEditor(nsIEditor **aEditor) = 0;
- NS_IMETHOD SetSelectionStart(int32_t aSelectionStart) = 0;
- NS_IMETHOD SetSelectionEnd(int32_t aSelectionEnd) = 0;
-
- NS_IMETHOD SetSelectionRange(int32_t aSelectionStart,
- int32_t aSelectionEnd,
- SelectionDirection aDirection = eNone) = 0;
- NS_IMETHOD GetSelectionRange(int32_t* aSelectionStart,
- int32_t* aSelectionEnd,
- SelectionDirection* aDirection = nullptr) = 0;
- NS_IMETHOD GetOwnedSelectionController(nsISelectionController** aSelCon) = 0;
- virtual nsFrameSelection* GetOwnedFrameSelection() = 0;
- virtual nsresult GetPhonetic(nsAString& aPhonetic) = 0;
- /**
- * Ensure editor is initialized with the proper flags and the default value.
- * @throws NS_ERROR_NOT_INITIALIZED if mEditor has not been created
- * @throws various and sundry other things
- */
- virtual nsresult EnsureEditorInitialized() = 0;
- virtual nsresult ScrollSelectionIntoView() = 0;
- };
- #endif
|