* updates for cursor setting

* button press event works
This commit is contained in:
peter 1999-12-22 22:28:08 +00:00
parent c3a92e5260
commit 9de2afcbac
3 changed files with 45 additions and 21 deletions

View File

@ -64,7 +64,7 @@ begin
e.shSymbol := AddSHStyle('Symbol', colBrown, colDefault, fsNormal);
e.shKeyword := AddSHStyle('Keyword', colBlack, colDefault, fsBold);
e.shComment := AddSHStyle('Comment', colDarkCyan, colDefault, fsItalics);
e.shDirective := AddSHStyle('Directive', colDarkYellow, colDefault, fsItalics);
e.shDirective := AddSHStyle('Directive', colRed, colDefault, fsItalics);
e.shNumbers := AddSHStyle('Numbers', colDarkMagenta, colDefault, fsNormal);
e.shCharacters := AddSHStyle('Characters', colDarkBlue, colDefault, fsNormal);
e.shStrings := AddSHStyle('Strings', colBlue, colDefault, fsNormal);
@ -135,7 +135,11 @@ begin
end.
{
$Log$
Revision 1.5 1999-12-08 01:03:15 peter
Revision 1.6 1999-12-22 22:28:08 peter
* updates for cursor setting
* button press event works
Revision 1.5 1999/12/08 01:03:15 peter
* changes so redrawing and walking with the cursor finally works
correct

View File

@ -190,7 +190,7 @@ begin
end;
KeyState:=Event^.State;
// WriteLn('KeyCode ', KeyCode,' keystate ',KeyState);
WriteLn('KeyCode ', KeyCode,' keystate ',KeyState);
// Calculate the Key modifiers (shiftstate)
KeyMods := [];
@ -211,8 +211,15 @@ end;
function TGtkSHEdit_ButtonPressEvent(GtkWidget: PGtkWidget; event: PGdkEventButton ; edit: TGtkSHEdit): Integer; cdecl;
var
px,py : integer;
begin
Writeln('button press');
px:=(round(event^.x)-edit.leftindent) div edit.CharW;
py:=(round(event^.y)-edit.leftindent) div edit.CharH;
// Writeln('button press ',px,',',py);
edit.Edit.CursorX:=px;
edit.Edit.CursorY:=py;
edit.SetFocus;
Result := 1;
end;
@ -273,18 +280,23 @@ begin
gtk_scrolled_window_add_with_viewport(PGtkScrolledWindow(Widget), PaintBox);
gtk_widget_show(PaintBox);
PGtkObject(PaintBox)^.flags := PGtkObject(PaintBox)^.flags or GTK_CAN_FOCUS;
gtk_widget_set_flags(PGtkWidget(PaintBox),GTK_CAN_FOCUS);
gtk_signal_connect(PGtkObject(PaintBox), 'expose-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_Expose), self);
gtk_signal_connect_after(PGtkObject(PaintBox), 'key-press-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_KeyPressed), self);
gtk_signal_connect_after(PGtkObject(PaintBox), 'button-press-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_KeyPressed), self);
GTK_SIGNAL_FUNC(@TGtkSHEdit_Keypressed), self);
gtk_signal_connect(PGtkObject(PaintBox), 'button-press-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_ButtonPressEvent), self);
gtk_signal_connect_after(PGtkObject(PaintBox), 'focus-in-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_FocusInEvent), self);
gtk_signal_connect_after(PGtkObject(PaintBox), 'focus-out-event',
GTK_SIGNAL_FUNC(@TGtkSHEdit_FocusOutEvent), self);
gtk_widget_set_events(PGtkWidget(Paintbox),
GDK_EXPOSURE_MASK or GDK_KEY_PRESS_MASK or GDK_KEY_RELEASE_MASK or
GDK_BUTTON_PRESS_MASK or GDK_ENTER_NOTIFY_MASK or GDK_LEAVE_NOTIFY_MASK);
gtk_widget_show(Widget);
end;
@ -294,7 +306,7 @@ begin
Edit := AEdit;
shWhitespace := AddSHStyle('Whitespace', colBlack, colWhite, fsNormal);
Edit.shDefault := AddSHStyle('Default', colBlack, colWhite, fsNormal);
Edit.shSelected := AddSHStyle('Selected', colWhite, colBlue, fsNormal);
Edit.shSelected := AddSHStyle('Selected', colWhite, colDarkBlue, fsNormal);
{ Install keys }
Edit.AddKeyDef(@Edit.CursorUp, selClear, 'Cursor up', GDK_Up, []);
Edit.AddKeyDef(@Edit.CursorDown, selClear, 'Cursor down', GDK_Down, []);
@ -320,8 +332,9 @@ begin
Edit.AddKeyDef(@Edit.ToggleOverwriteMode, selNothing, 'Toggle overwrite mode', GDK_Insert, []);
Edit.AddKeyDef(@Edit.EditDelLeft, selClear, 'Delete char left of cursor', GDK_Backspace, []);
Edit.AddKeyDef(@Edit.EditDelRight, selClear, 'Delete char right of cursor', GDK_Delete, []);
Edit.AddKeyDef(@Edit.EditDelRight, selClear, 'Delete char right of cursor', GDK_Delete_Key, []);
Edit.AddKeyDef(@Edit.EditDelLine, selClear, 'Delete current line', Ord('Y'), [ssCtrl]);
Edit.AddKeyDef(@Edit.EditDelLine, selClear, 'Delete current line', Ord('y'), [ssCtrl]);
Edit.AddKeyDef(@Edit.EditUndo, selClear, 'Undo last action', GDK_Backspace, [ssAlt]);
Edit.AddKeyDef(@Edit.EditRedo, selClear, 'Redo last undone action', GDK_Backspace, [ssShift, ssAlt]);
end;
@ -582,7 +595,11 @@ end;
end.
{
$Log$
Revision 1.7 1999-12-12 17:50:50 sg
Revision 1.8 1999-12-22 22:28:08 peter
* updates for cursor setting
* button press event works
Revision 1.7 1999/12/12 17:50:50 sg
* Fixed drawing of selection
* Several small corrections (removed superfluous local variables etc.)

View File

@ -260,7 +260,6 @@ type
implementation
uses
@ -372,15 +371,15 @@ end;
procedure TSHTextEdit.SetCursorX(NewCursorX: Integer);
begin
FCursorX := NewCursorX;
HideCursor;
FCursorX := NewCursorX;
ShowCursor;
end;
procedure TSHTextEdit.SetCursorY(NewCursorY: Integer);
begin
FCursorY := NewCursorY;
HideCursor;
FCursorY := NewCursorY;
ShowCursor;
end;
@ -402,7 +401,11 @@ end.
{
$Log$
Revision 1.5 1999-12-10 15:01:03 peter
Revision 1.6 1999-12-22 22:28:09 peter
* updates for cursor setting
* button press event works
Revision 1.5 1999/12/10 15:01:03 peter
* first things for selection
* Better Adjusting of range/cursor