FunctionsWinUnit.pas 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. {
  2. TIGCC IDE
  3. Copyright (C) 2000-2004 Sebastian Reichelt
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2, or (at your option)
  7. any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software Foundation,
  14. Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  15. }
  16. unit FunctionsWinUnit;
  17. interface
  18. uses
  19. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  20. StdCtrls, SourceFileUnit;
  21. type
  22. TFunctionsForm = class(TForm)
  23. FuncList: TListBox;
  24. PrototypeButton: TButton;
  25. ImplementationButton: TButton;
  26. CancelButton: TButton;
  27. procedure FuncListDblClick(Sender: TObject);
  28. procedure FuncListClick(Sender: TObject);
  29. procedure FuncListMouseDown(Sender: TObject; Button: TMouseButton;
  30. Shift: TShiftState; X, Y: Integer);
  31. private
  32. public
  33. Funcs: PSourceFileFunctions;
  34. end;
  35. implementation
  36. {$R *.DFM}
  37. procedure TFunctionsForm.FuncListDblClick(Sender: TObject);
  38. begin
  39. if ImplementationButton.Enabled then
  40. ModalResult := mrNo
  41. else if PrototypeButton.Enabled then
  42. ModalResult := mrYes;
  43. end;
  44. procedure TFunctionsForm.FuncListClick(Sender: TObject);
  45. begin
  46. PrototypeButton.Enabled := (FuncList.ItemIndex >= 0) and (Funcs^[Integer(FuncList.Items.Objects[FuncList.ItemIndex])].PrototypeLine > 0);
  47. ImplementationButton.Enabled := (FuncList.ItemIndex >= 0) and (Funcs^[Integer(FuncList.Items.Objects[FuncList.ItemIndex])].ImplementationLine > 0);
  48. end;
  49. procedure TFunctionsForm.FuncListMouseDown(Sender: TObject;
  50. Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  51. begin
  52. FuncListClick (Sender);
  53. end;
  54. end.