1/* 2 * Copyright 2003-2009, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Stefano Ceccherini (stefano.ceccherini@gmail.com) 7 */ 8 9#ifndef __INLINEINPUT_H 10#define __INLINEINPUT_H 11 12#include <Messenger.h> 13#include <String.h> 14 15struct clause; 16 17class InlineInput { 18public: 19 InlineInput(BMessenger); 20 ~InlineInput(); 21 22 const BMessenger *Method() const; 23 24 const char *String() const; 25 void SetString(const char *string); 26 27 bool IsActive() const; 28 void SetActive(bool active); 29 30 int32 SelectionLength() const; 31 void SetSelectionLength(int32); 32 33 int32 SelectionOffset() const; 34 void SetSelectionOffset(int32 offset); 35 36 bool AddClause(int32, int32); 37 bool GetClause(int32 index, int32 *start, int32 *end) const; 38 int32 CountClauses() const; 39 40 void ResetClauses(); 41 42private: 43 const BMessenger fMessenger; 44 BString fString; 45 46 bool fActive; 47 48 int32 fSelectionOffset; 49 int32 fSelectionLength; 50 51 int32 fNumClauses; 52 clause *fClauses; 53}; 54 55#endif //__INLINEINPUT_H 56