BTextView: fix Text field scripting
Change-Id: I2048d7f01fa3694d5687447cf7058fecf03ae15d Reviewed-on: https://review.haiku-os.org/c/haiku/+/4007 Reviewed-by: X512 <[email protected]> Reviewed-by: John Scipione <[email protected]> Reviewed-by: Jérôme Duval <[email protected]>
This commit is contained in:
@@ -390,12 +390,14 @@ private:
|
|||||||
int32 _PreviousWordStart(int32 offset);
|
int32 _PreviousWordStart(int32 offset);
|
||||||
int32 _NextWordEnd(int32 offset);
|
int32 _NextWordEnd(int32 offset);
|
||||||
|
|
||||||
bool _GetProperty(BMessage* specifier, int32 form,
|
bool _GetProperty(BMessage* message,
|
||||||
|
BMessage* specifier,
|
||||||
const char* property, BMessage* reply);
|
const char* property, BMessage* reply);
|
||||||
bool _SetProperty(BMessage* specifier, int32 form,
|
bool _SetProperty(BMessage* message,
|
||||||
|
BMessage* specifier,
|
||||||
const char* property, BMessage* reply);
|
const char* property, BMessage* reply);
|
||||||
bool _CountProperties(BMessage* specifier,
|
bool _CountProperties(BMessage* message,
|
||||||
int32 form, const char* property,
|
BMessage* specifier, const char* property,
|
||||||
BMessage* reply);
|
BMessage* reply);
|
||||||
|
|
||||||
void _HandleInputMethodChanged(BMessage* message);
|
void _HandleInputMethodChanged(BMessage* message);
|
||||||
|
|||||||
@@ -979,17 +979,17 @@ BTextView::MessageReceived(BMessage* message)
|
|||||||
bool handled = false;
|
bool handled = false;
|
||||||
switch(message->what) {
|
switch(message->what) {
|
||||||
case B_GET_PROPERTY:
|
case B_GET_PROPERTY:
|
||||||
handled = _GetProperty(&specifier, specifier.what, property,
|
handled = _GetProperty(message, &specifier, property,
|
||||||
&reply);
|
&reply);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case B_SET_PROPERTY:
|
case B_SET_PROPERTY:
|
||||||
handled = _SetProperty(&specifier, specifier.what, property,
|
handled = _SetProperty(message, &specifier, property,
|
||||||
&reply);
|
&reply);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case B_COUNT_PROPERTIES:
|
case B_COUNT_PROPERTIES:
|
||||||
handled = _CountProperties(&specifier, specifier.what,
|
handled = _CountProperties(message, &specifier,
|
||||||
property, &reply);
|
property, &reply);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -5525,8 +5525,8 @@ BTextView::_PreviousInitialByte(int32 offset) const
|
|||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BTextView::_GetProperty(BMessage* specifier, int32 form, const char* property,
|
BTextView::_GetProperty(BMessage* message, BMessage* specifier,
|
||||||
BMessage* reply)
|
const char* property, BMessage* reply)
|
||||||
{
|
{
|
||||||
CALLED();
|
CALLED();
|
||||||
if (strcmp(property, "selection") == 0) {
|
if (strcmp(property, "selection") == 0) {
|
||||||
@@ -5565,8 +5565,8 @@ BTextView::_GetProperty(BMessage* specifier, int32 form, const char* property,
|
|||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BTextView::_SetProperty(BMessage* specifier, int32 form, const char* property,
|
BTextView::_SetProperty(BMessage* message, BMessage* specifier,
|
||||||
BMessage* reply)
|
const char* property, BMessage* reply)
|
||||||
{
|
{
|
||||||
CALLED();
|
CALLED();
|
||||||
if (strcmp(property, "selection") == 0) {
|
if (strcmp(property, "selection") == 0) {
|
||||||
@@ -5587,10 +5587,13 @@ BTextView::_SetProperty(BMessage* specifier, int32 form, const char* property,
|
|||||||
specifier->FindInt32("range", &range);
|
specifier->FindInt32("range", &range);
|
||||||
|
|
||||||
const char* buffer = NULL;
|
const char* buffer = NULL;
|
||||||
if (specifier->FindString("data", &buffer) == B_OK)
|
if (message->FindString("data", &buffer) == B_OK) {
|
||||||
InsertText(buffer, range, index, NULL);
|
InsertText(buffer, range, index, NULL);
|
||||||
else
|
_Refresh(index, index + range);
|
||||||
DeleteText(index, range);
|
} else {
|
||||||
|
DeleteText(index, index + range);
|
||||||
|
_Refresh(index, index);
|
||||||
|
}
|
||||||
|
|
||||||
reply->what = B_REPLY;
|
reply->what = B_REPLY;
|
||||||
reply->AddInt32("error", B_OK);
|
reply->AddInt32("error", B_OK);
|
||||||
@@ -5604,7 +5607,7 @@ BTextView::_SetProperty(BMessage* specifier, int32 form, const char* property,
|
|||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
BTextView::_CountProperties(BMessage* specifier, int32 form,
|
BTextView::_CountProperties(BMessage* message, BMessage* specifier,
|
||||||
const char* property, BMessage* reply)
|
const char* property, BMessage* reply)
|
||||||
{
|
{
|
||||||
CALLED();
|
CALLED();
|
||||||
|
|||||||
Reference in New Issue
Block a user