Ejemplo n.º 1
0
        protected override void OnDragDrop(DragEventArgs drgevent)
        {
            base.OnDragDrop(drgevent);
            DictionaryWindow.DraggedItem item = (DictionaryWindow.DraggedItem)drgevent.Data.GetData(
                typeof(DictionaryWindow.DraggedItem));
            Point pt = PointToClient(new Point(drgevent.X, drgevent.Y));

            OnMouseUp(new MouseEventArgs(MouseButtons.Left, 0, pt.X, pt.Y, 0));
            if (FEventArgs.DragSource != null)
            {
                AfterDragDrop(pt);
            }
        }
Ejemplo n.º 2
0
 private void Edit_DragDrop(object sender, DragEventArgs e)
 {
   DictionaryWindow.DraggedItem item = (DictionaryWindow.DraggedItem)e.Data.GetData(
     typeof(DictionaryWindow.DraggedItem));
   
   CodeHelperBase codeHelper = Designer.ActiveReport.Report.CodeHelper;
   string text = "";
   if (item.Obj is Column)
     text = codeHelper.ReplaceColumnName(item.Text, (item.Obj as Column).DataType);
   else if (item.Obj is SystemVariable)
     text = codeHelper.ReplaceVariableName(item.Obj as Parameter);
   else if (item.Obj is Parameter)
     text = codeHelper.ReplaceParameterName(item.Obj as Parameter);
   else if (item.Obj is Total)
     text = codeHelper.ReplaceTotalName(item.Text);
   else if (item.Obj is MethodInfo)
     text = item.Text;
   else
     text = "Report.Calc(\"" + item.Text + "\")";
   
   Edit.Selection.InsertString(text);
   Edit.Focus();
 }
Ejemplo n.º 3
0
        protected override void OnDragOver(DragEventArgs drgevent)
        {
            base.OnDragOver(drgevent);
            if (!Designer.cmdInsert.Enabled)
            {
                drgevent.Effect = DragDropEffects.None;
                return;
            }

            if (FMode1 != WorkspaceMode1.DragDrop)
            {
                DictionaryWindow.DraggedItem item = (DictionaryWindow.DraggedItem)drgevent.Data.GetData(
                    typeof(DictionaryWindow.DraggedItem));

                Type dataType = null;
                if (item.Obj is Column)
                {
                    dataType = (item.Obj as Column).DataType;
                }
                else if (item.Obj is Parameter)
                {
                    dataType = (item.Obj as Parameter).DataType;
                }

                // determine type of control to insert
                Type controlType = typeof(NumericUpDownControl);
                if (dataType == typeof(string) || dataType == typeof(char))
                {
                    controlType = typeof(TextBoxControl);
                }
                else if (dataType == typeof(DateTime) || dataType == typeof(TimeSpan))
                {
                    controlType = typeof(DateTimePickerControl);
                }
                else if (dataType == typeof(bool))
                {
                    controlType = typeof(CheckBoxControl);
                }
                else if (dataType == typeof(byte[]))
                {
                    controlType = null;
                }

                if (controlType == null)
                {
                    drgevent.Effect = DragDropEffects.None;
                    return;
                }

                // create label and control
                bool needCreateLabel = controlType != typeof(CheckBoxControl);
                if (needCreateLabel)
                {
                    Designer.InsertObject(new ObjectInfo[] {
                        RegisteredObjects.FindObject(controlType),
                        RegisteredObjects.FindObject(typeof(LabelControl))
                    }, InsertFrom.Dictionary);
                }
                else
                {
                    Designer.InsertObject(RegisteredObjects.FindObject(controlType), InsertFrom.Dictionary);
                }

                // setup control datafiltering
                DataFilterBaseControl control = Designer.SelectedObjects[0] as DataFilterBaseControl;
                control.Top += (16 / Grid.SnapSize) * Grid.SnapSize;
                if (item.Obj is Column)
                {
                    control.DataColumn = item.Text;
                }
                else if (item.Obj is Parameter)
                {
                    control.ReportParameter = item.Text;
                }

                // setup label text
                string labelText = "";
                if (item.Obj is Column)
                {
                    labelText = (item.Obj as Column).Alias;
                }
                else if (item.Obj is Parameter)
                {
                    labelText = (item.Obj as Parameter).Description;
                    if (String.IsNullOrEmpty(labelText))
                    {
                        labelText = (item.Obj as Parameter).Name;
                    }
                }

                if (needCreateLabel)
                {
                    LabelControl label = Designer.SelectedObjects[1] as LabelControl;
                    label.Text = labelText;
                }
                else
                {
                    control.Text = labelText;
                }

                FEventArgs.DragSource = control;
            }

            FMode1 = WorkspaceMode1.DragDrop;
            Point pt = PointToClient(new Point(drgevent.X, drgevent.Y));

            OnMouseMove(new MouseEventArgs(MouseButtons.Left, 0, pt.X, pt.Y, 0));
            drgevent.Effect = drgevent.AllowedEffect;
        }