gecko-dev/layout/forms/nsITextControlFrame.h

46 строки
1.3 KiB
C++

/* -*- 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 SetSelectionRange(uint32_t aSelectionStart,
uint32_t aSelectionEnd,
SelectionDirection aDirection = eNone) = 0;
NS_IMETHOD GetOwnedSelectionController(nsISelectionController** aSelCon) = 0;
virtual nsFrameSelection* GetOwnedFrameSelection() = 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