KeyNameEdit: TLabeledEdit;
Splitter: TSplitter;
CategoryPanel: TPanel;
- CategoryNameEdit: TLabeledEdit;
+ CategoryNameComboBox: TComboBox;
+ CategoryNameLabel: TLabel;
procedure FormCreate(Sender: TObject);
procedure GikoListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
FSortColumn : Integer;
FInsertText : String;
procedure AddListViewItem(ResWord : TResistWord);
+ procedure SetCategory(combo: TComboBox; selected: String);
+ function ValidateKey(key, category: String): boolean;
public
{ Public \90é\8c¾ }
procedure SetUpFromEditor();
begin
if (Item <> nil) and (Item.Data <> nil) then begin
KeyNameEdit.Text := TResistWord(Item.Data).GetKey;
- CategoryNameEdit.Text := TResistWord(Item.Data).GetCategory;
+ CategoryNameComboBox.Text := TResistWord(Item.Data).GetCategory;
TextMemo.Lines.Text := TResistWord(Item.Data).GetText;
end else begin
TextMemo.Lines.Text := '';
var
resWord : TResistWord;
begin
- if (Length(KeyNameEdit.Text) = 0) then begin
- ShowMessage('\83L\81[\96¼\82ð\90Ý\92è\82µ\82Ä\82\82¾\82³\82¢\81B');
- end else begin
+ if (ValidateKey(KeyNameEdit.Text, CategoryNameComboBox.Text)) then begin
if (not InputAssistDM.IsDupulicate(
- KeyNameEdit.Text, CategoryNameEdit.Text) ) then begin
+ KeyNameEdit.Text, CategoryNameComboBox.Text) ) then begin
resWord := InputAssistDM.Add(KeyNameEdit.Text);
- resWord.SetCategory(CategoryNameEdit.Text);
+ resWord.SetCategory(CategoryNameComboBox.Text);
resWord.SetText(TextMemo.Text);
AddListViewItem(resWord);
+ SetCategory(CategoryNameComboBox, resWord.GetCategory);
GikoListView1.AlphaSort;
end else begin
ShowMessage('\93¯\88ê\82Ì\83L\81[\96¼\81E\83J\83e\83S\83\8a\96¼\82Å\8aù\82É\93o\98^\8dÏ\82Ý\82Å\82·\81B');
end;
end;
end;
+//! \83L\81[\96¼\81E\83J\83e\83S\83\8a\97L\8cø\83`\83F\83b\83N
+function TInputAssistForm.ValidateKey(key, category: String): boolean;
+begin
+ Result := True;
+ if (Length(key) = 0) then begin
+ ShowMessage('\83L\81[\96¼\82ð\90Ý\92è\82µ\82Ä\82\82¾\82³\82¢\81B');
+ Result := False;
+ end else begin
+ if (Length(category) = 0) then begin
+ ShowMessage('\83J\83e\83S\83\8a\82ð\90Ý\92è\82µ\82Ä\82\82¾\82³\82¢\81B');
+ Result := False;
+ end;
+ end;
+end;
+
//! \8dí\8f\9c\83{\83^\83\93\89\9f\89º\8e\9e\82Ì\83C\83x\83\93\83g
procedure TInputAssistForm.DeleteButtonClick(Sender: TObject);
begin
resWord : TResistWord;
begin
if GikoListView1.Selected <> nil then begin
- if (Length(KeyNameEdit.Text) = 0) then begin
- ShowMessage('\83L\81[\96¼\82ð\96³\82µ\82É\82Í\82Å\82«\82Ü\82¹\82ñ\81B');
- end else begin
- resWord := TResistWord(GikoListView1.Selected.Data);
- resWord.SetKey(KeyNameEdit.Text);
- resWord.SetCategory(CategoryNameEdit.Text);
- resWord.SetText(TextMemo.Text);
- // \88ê\97\97\82Ì\8dX\90V
- GikoListView1.Selected.Caption := resWord.GetKey;
- GikoListView1.Selected.SubItems[0] := resWord.GetCategory;
- GikoListView1.AlphaSort;
+ if (ValidateKey(KeyNameEdit.Text, CategoryNameComboBox.Text)) then begin
+ resWord := TResistWord(GikoListView1.Selected.Data);
+ // \95Ï\8dX\91O\82Ì\83L\81[\81^\83J\83e\83S\83\8a\82Æ\93¯\88ê\82à\82µ\82\82Í\81A\91¼\82Æ\8fd\95¡\96³\82µ
+ if ((resWord.GetKey = KeyNameEdit.Text)
+ and (resWord.GetCategory = CategoryNameComboBox.Text)) or
+ (not InputAssistDM.IsDupulicate(
+ KeyNameEdit.Text, CategoryNameComboBox.Text) ) then begin
+ resWord.SetCategory(CategoryNameComboBox.Text);
+ resWord.SetText(TextMemo.Text);
+ // \83L\81[\82ª\95Ï\82í\82é\82Æ\82«\82Í\81AChangeKey\82ð\8cÄ\82Ô
+ if (resWord.GetKey <> KeyNameEdit.Text) then begin
+ resWord.SetKey(KeyNameEdit.Text);
+ InputAssistDM.ChangeKey(resWord);
+ end;
+ // \88ê\97\97\82Ì\8dX\90V
+ GikoListView1.Selected.Caption := resWord.GetKey;
+ GikoListView1.Selected.SubItems[0] := resWord.GetCategory;
+ SetCategory(CategoryNameComboBox, resWord.GetCategory);
+ GikoListView1.AlphaSort;
+ end else begin
+ ShowMessage('\93¯\88ê\82Ì\83L\81[\96¼\81E\83J\83e\83S\83\8a\96¼\82Å\8aù\82É\93o\98^\8dÏ\82Ý\82Å\82·\81B');
+ end;
end;
end;
end;
end;
LockWindowUpdate(0);
end;
+//! \83J\83e\83S\83\8a\83R\83\93\83{\83{\83b\83N\83X\90Ý\92è
+procedure TInputAssistForm.SetCategory(combo: TComboBox; selected: String);
+var
+ cat : TStringList;
+ i : Integer;
+begin
+ // \8c\9f\8dõ\97p
+ cat := TStringList.Create;
+ try
+ InputAssistDM.GetCategoryList(cat);
+ combo.Items.BeginUpdate;
+ combo.Items.Clear;
+ combo.Items.Add('');
+ combo.Items.AddStrings(cat);
+ combo.ItemIndex := 0;
+ combo.Items.EndUpdate;
+ // \91I\91ð\8dÏ\82Ý\82Ì\83J\83e\83S\83\8a\82É\83C\83\93\83f\83b\83N\83X\82ð\95Ï\8dX
+ i := combo.Items.IndexOf(selected);
+ if (i <> -1) then begin
+ combo.ItemIndex := i;
+ end;
+ finally
+ cat.Free;
+ end;
+end;
procedure TInputAssistForm.SetUpFromMain();
begin
TextMemo.ReadOnly := False;
FInsertText := '';
CloseAction.ShortCut := TShortCut(0);
+ // \92Ç\89Á\97p\83L\81[\93ü\97ÍOK
+ SetCategory(CategoryNameComboBox, '');
end;
procedure TInputAssistForm.SetUpFromEditor();
-var
- cat : TStringList;
begin
Self.Caption := '\93ü\97Í\83A\83V\83X\83g';
Panel3.Visible := False;
FInsertText := '';
CloseAction.ShortCut := ShortCut(VK_ESCAPE, []);
// \8c\9f\8dõ\97p
- cat := TStringList.Create;
- try
- InputAssistDM.GetCategoryList(cat);
- CategoryComboBox.Items.Clear;
- CategoryComboBox.Items.Add('');
- CategoryComboBox.Items.AddStrings(cat);
- CategoryComboBox.ItemIndex := 0;
- finally
- cat.Free;
- end;
+ SetCategory(CategoryComboBox, '');
end;
function TInputAssistForm.GetInsertText(): String;
begin
begin
Self.ModalResult := mrCancel;
end;
-
end.