⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 DBDesigner 4 is a database design system that integrates database design, modelling, creation and ma
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    EditorRelationForm.BringToFront;
    //Set Focus because ToolWindows don't seem to be focused automatically
    try
      if(EditorRelationForm.CanFocus)then
        EditorRelationForm.SetFocus;
    except
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_EditRegion)then
  begin
    EditorRegionForm:=TEditorRegionForm.Create(self);

    EditorRegionForm.SetRegion(QCustomEvent_data(QCustomEventH(Event)));
    EditorRegionForm.Show;
    EditorRegionForm.BringToFront;
    //Set Focus because ToolWindows don't seem to be focused automatically
    try
      if(EditorRegionForm.CanFocus)then
        EditorRegionForm.SetFocus;
    except
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_EditNote)then
  begin
    EditorNoteForm:=TEditorNoteForm.Create(Application.MainForm);

    EditorNoteForm.SetNote(QCustomEvent_data(QCustomEventH(Event)));
    EditorNoteForm.Show;
    EditorNoteForm.BringToFront;
    //Set Focus because ToolWindows don't seem to be focused automatically
    try
      if(EditorNoteForm.CanFocus)then
        EditorNoteForm.SetFocus;
    except
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_EditImage)then
  begin
    EditorImageForm:=TEditorImageForm.Create(Application.MainForm);

    EditorImageForm.SetImage(QCustomEvent_data(QCustomEventH(Event)));
    EditorImageForm.Show;
    EditorImageForm.BringToFront;
    //Set Focus because ToolWindows don't seem to be focused automatically
    try
      if(EditorImageForm.CanFocus)then
        EditorImageForm.SetFocus;
    except
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_SetWorkTool)then
  begin
    Pint:=QCustomEvent_data(QCustomEventH(Event));
    DisplaySelectedWorkTool(Pint^);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshPalettes)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        PaletteModelFrom.RefreshTablesTreeView(TEERForm(ActiveMDIChild).EERModel);
        PaletteDataTypesForm.DisplayDataTypes(TEERForm(ActiveMDIChild).EERModel);
        PaletteNavForm.SetModelImg(TEERForm(ActiveMDIChild).EERModel);
        TEditorQueryForm(DockedEditorQueryForm).RefreshStoredSQLTreeView(TEERForm(ActiveMDIChild).EERModel);
        TEditorQueryForm(DockedEditorQueryForm).RefreshTempSQLStoreBtns(TEERForm(ActiveMDIChild).EERModel);
        SnapToGridBtn.Down:=TEERForm(ActiveMDIChild).EERModel.UsePositionGrid;
      end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RedrawTableList)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        PaletteModelFrom.TablesTreeView.Repaint;
      end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshNavPalette)then
  begin
    if(QCustomEvent_data(QCustomEventH(Event))<>nil)then
      PaletteNavForm.SetModelImg(TEERModel(QCustomEvent_data(QCustomEventH(Event))))
    else if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        PaletteNavForm.SetModelImg(TEERForm(ActiveMDIChild).EERModel);
      end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshGridBtn)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
        SnapToGridBtn.Down:=TEERForm(ActiveMDIChild).EERModel.UsePositionGrid;

    Result:=True;

  end;

  if(QEvent_type(Event)=QEventType_ClearNavImg)then
  begin
    PaletteNavForm.SetModelImg(nil);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshInfoPalette)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
        PaletteNavForm.RefreshInfo(TEERForm(ActiveMDIChild).EERModel);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_UpdateStatusBar)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        ZoomLbl.Caption:=
          FormatFloat('###0.##', TEERForm(ActiveMDIChild).EERModel.GetZoomFac)+' %';

        PaletteNavForm.RefreshZoomSettings;
      end
      else
        MainForm.ZoomLbl.Caption:='';

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_SetStatusCaption)then
  begin
    theStr:=QCustomEvent_data(QCustomEventH(Event));
    DMGUI.SetStatusCaption(theStr);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_SetSaveImgs)then
  begin
    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        if(TEERForm(ActiveMDIChild).EERModel.IsChanged)then
          EnableSaveImgs
        else
          DisableSaveImgs;
      end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshDataTypesPalette)then
  begin
    if(Assigned(PaletteDataTypesForm))then
      PaletteDataTypesForm.DisplayDataTypes(QCustomEvent_data(QCustomEventH(Event)));

   Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RefreshModelPalette)then
  begin
    if(Assigned(PaletteModelFrom))then
      PaletteModelFrom.RefreshTablesTreeView(QCustomEvent_data(QCustomEventH(Event)));

    //Clear StoredSQLTree when model is closed
    TEditorQueryForm(DockedEditorQueryForm).RefreshStoredSQLTreeView(QCustomEvent_data(QCustomEventH(Event)));
    TEditorQueryForm(DockedEditorQueryForm).RefreshTempSQLStoreBtns(QCustomEvent_data(QCustomEventH(Event)));
    
    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_EnableMainFormRefreshTmr)then
  begin
    RefreshTmr.Enabled:=True;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_RemoveChildFormsMenuItem)then
  begin
    pos:=WindowsMI.IndexOf(QCustomEvent_data(QCustomEventH(Event)));
    WindowsMI.Delete(pos);
    TMenuItem(QCustomEvent_data(QCustomEventH(Event))).Free;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_SetQueryStatusLbl)then
  begin
    DMGUI.SetQueryStatusLbl;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_CloseAllClientDatasets)then
  begin
    //Close Datasets in DockedEditorQueryForm
    if(TEditorQueryForm(DockedEditorQueryForm).OutputQry.Active)then
      TEditorQueryForm(DockedEditorQueryForm).OutputQry.Close;

    if(TEditorQueryForm(DockedEditorQueryForm).OutputClientDataSet.Active)then
    begin
      TEditorQueryForm(DockedEditorQueryForm).OutputClientDataSet.Close;
      TEditorQueryForm(DockedEditorQueryForm).DBGrid.Columns.Clear;
      TEditorQueryForm(DockedEditorQueryForm).DBMemo.DataField:='';
      TEditorQueryForm(DockedEditorQueryForm).DBImage.DataField:='';
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_AddToRecentFileList)then
  begin
    theStr:=QCustomEvent_data(QCustomEventH(Event));
    DMGUI.AddFileToRecentFilesList(theStr);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_StartEERObjectDrag)then
  begin
    if(TObject(QCustomEvent_data(QCustomEventH(Event))).ClassNameIs('TEERTable'))then
    begin
      //EditorQueryDragTargetForm:=TEditorQueryDragTargetForm.Create(self);
      //TEditorQueryDragTargetForm(EditorQueryDragTargetForm).SetModel(TEERModel(TEERTable(QCustomEvent_data(QCustomEventH(Event))).Parent), DMEER.ActiveSQLColumnDragPositions);
      EditorQueryDragTargetForm.Show;

      DMEER.IsDragging:=True;
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_EndEERObjectDrag)then
  begin
    if(TObject(QCustomEvent_data(QCustomEventH(Event))).ClassNameIs('TEERTable'))then
    begin
      if(Assigned(EditorQueryDragTargetForm))then
        EditorQueryDragTargetForm.Hide;//.Free;

      DMEER.IsDragging:=False;
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_SelectSQLColumnFromTable)then
  begin
    Pint:=QCustomEvent_data(QCustomEventH(Event));
    CopyMouseOverObjToSQLMemo(Pint^);

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_ModelNameChanged)then
  begin
    //Catch exception in plugins
    try
      if(TEERModel(QCustomEvent_data(QCustomEventH(Event))).Parent.ClassNameIs('TEERForm'))then
      begin
        //Set MenuItem caption
        if(TEERForm(TEERModel(QCustomEvent_data(QCustomEventH(Event))).Parent).theFormMenuItem<>nil)then
        begin
          TEERForm(TEERModel(QCustomEvent_data(QCustomEventH(Event))).Parent).theFormMenuItem.Caption:=
            TEERModel(QCustomEvent_data(QCustomEventH(Event))).GetModelName;
        end;

        TEERForm(TEERModel(QCustomEvent_data(QCustomEventH(Event))).Parent).Caption:=
          DMMain.GetTranslatedMessage('DB Model', 18)+' | '+
          TEERModel(QCustomEvent_data(QCustomEventH(Event))).GetModelName;
      end;
    except
    end;

    Result:=True;
  end;

  if(QEvent_type(Event)=QEventType_DeleteObject)then
  begin
    if(TObject(QCustomEvent_data(QCustomEventH(Event))).ClassParent = TEERObj)then
    begin
      theModel:=TEERObj(QCustomEvent_data(QCustomEventH(Event))).ParentEERModel;
      theEERObj:=TEERObj(QCustomEvent_data(QCustomEventH(Event)));

      theModel.StartSubActionLog(at_DeleteObj);
      theModel.LogActions:=True;
      try
        theEERObj.DeleteObj;
      finally
        theModel.LogActions:=False;
        theModel.EndSubAction;
      end;
    end;

    Result:=True;
  end;


  if(QEvent_type(Event)=QEventType_PlaceModelFromFile)or
    (QEvent_type(Event)=QEventType_PlaceModelFromDB)or
    (QEvent_type(Event)=QEventType_PlaceModelFromLibrary)then
  begin
    Ppoint:=QCustomEvent_data(QCustomEventH(Event));

    if(ActiveMDIChild<>nil)then
      if(ActiveMDIChild.Classname='TEERForm')then
      begin
        if(QEvent_type(Event)=QEventType_PlaceModelFromFile)then
          PlaceModel(TEERForm(ActiveMDIChild).EERModel, Ppoint^, PlaceFromFile)
        else if(QEvent_type(Event)=QEventType_PlaceModelFromDB)then
          PlaceModel(TEERForm(ActiveMDIChild).EERModel, Ppoint^, PlaceFromDB)
        else if(QEvent_type(Event)=QEventType_PlaceModelFromLibrary)then
          PlaceModel(TEERForm(ActiveMDIChild).EERModel, Ppoint^, PlaceFromLibrary);
      end;

    Result:=True;
  end;

  //if this was called by another message, call default function
  if(Result=False)then
    EventFilter:=inherited EventFilter(Sender, Event);
end;

procedure TMainForm.SetApplStyle(ApplStyle: integer);
begin
{$IFNDEF USE_QTheming}
  case ApplStyle of
    1: StyleStandardMIClick(StyleStandardMI);
    2: StyleStandardMIClick(StyleMotifMI);
    3: StyleStandardMIClick(StyleSGIMI);
    4: StyleStandardMIClick(StylePlatinumMI);
  end;
{$ENDIF}
end;

procedure TMainForm.SetWorkMode(theWorkMode: integer);
begin
  DMEER.WorkMode:=theWorkMode;
  DMEER.SetWorkTool(wtPointer);

  if(theWorkMode=wmQuery)then
  begin
    MainForm.QueryImg.Show;
    MainForm.QueryImg.BringToFront;
    MainForm.Designimg.Hide;

    DesignToolsPnl.Hide;
    QueryToolsPnl.Show;
    QueryToolsPnl.Top:=1;

    PaletteToolsForm.QueryImg.BringToFront;

    if(Not(DMGUI.ShowPalettesDocked))then
    begin
      if(PaletteDataTypesForm.Visible)then
      begin
        MainForm.DatatypesMIClick(self);
        if(PaletteModelFrom.Top>PaletteDataTypesForm.Top+
          PaletteDataTypesForm.Height-30)then
          PaletteModelFrom.Top:=PaletteDataTypesForm.Top;
      end;
    end
    else
    begin
      DatatypesPnl.Visible:=False;
    end;
    
    //QueryPnl.Height:=226;
    QueryPnl.Show;
    QuerySplitter.Show;

    if(DMDB.OutputQry.Active)then
      DMDB.OutputQry.Close;
    if(DMDB.OutputClientDataSet.Active)then
      DMDB.OutputClientDataSet.Close;
  end
  else if(theWorkMode=wmDesign)then
  begin
    MainForm.Designimg.Show;
    MainForm.Designimg.BringToFront;
    MainForm.QueryImg.Hide;
    PaletteToolsForm.Designimg.BringToFront;

    DesignToolsPnl.Show;
    DesignToolsPnl.Top:=1;
    QueryToolsPnl.Hide;

    MainForm.QueryPnl.Hide;
    MainForm.QuerySplitter.Hide;

    if(Not(DMGUI.ShowPalettesDocked))then
    begin
      if(Not(PaletteDataTypesForm.Visible))and
        (TabHidePalettes.Count=0)then
      begin
        MainForm.DatatypesMIClick(self);

        if(PaletteModelFrom.Top=PaletteDataTypesForm.Top)then
          PaletteModelFrom.Top:=PaletteDataTypesForm.Top+
            PaletteDataTypesForm.Height+27;
      end;
    end
    else
    begin
      DatatypesPnl.Visible:=True;
      DatatypesPnl.Top:=74;
    end;
  end;

  StatusPnl.Top:=Height+10;
end;

procedure TMainForm.DisplaySe

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -