Browse Source

Revert back to 6143 - previous changes branched to reportsDataAddIn

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/reports@6185 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Philipp Maihart 15 years ago
parent
commit
99dd8b0c47
  1. 197
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj
  2. 246
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs

197
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/ICSharpCode.Reports.Addin.csproj

@ -19,21 +19,6 @@ @@ -19,21 +19,6 @@
<OutputPath>..\..\..\..\..\AddIns\AddIns\Misc\SharpDevelopReports\</OutputPath>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<SourceAnalysisOverrideSettingsFile>"C:\Program Files\SharpDevelop\bin\..\AddIns\AddIns\Misc\SourceAnalysis\Settings.SourceAnalysis"</SourceAnalysisOverrideSettingsFile>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<Optimize>False</Optimize>
@ -43,7 +28,6 @@ @@ -43,7 +28,6 @@
<CheckForOverflowUnderflow>True</CheckForOverflowUnderflow>
<StartAction>Project</StartAction>
<StartProgram>..\..\..\..\..\bin\SharpDevelop.exe</StartProgram>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<Optimize>True</Optimize>
@ -51,21 +35,17 @@ @@ -51,21 +35,17 @@
<DebugSymbols>False</DebugSymbols>
<DebugType>None</DebugType>
<CheckForOverflowUnderflow>False</CheckForOverflowUnderflow>
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="itextsharp">
<HintPath>..\Libraries\itextsharp.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Design" />
<Reference Include="System.Drawing.Design" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
@ -73,8 +53,6 @@ @@ -73,8 +53,6 @@
<Reference Include="System.Xml.Linq">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="WindowsBase" />
<Reference Include="WindowsFormsIntegration" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\..\Main\GlobalAssemblyInfo.cs">
@ -93,9 +71,7 @@ @@ -93,9 +71,7 @@
<Compile Include="Project\Designer\ImageDesigner.cs" />
<Compile Include="Project\Designer\LineDesigner.cs" />
<Compile Include="Project\Designer\RowItemDesigner.cs" />
<Compile Include="Project\Designer\Ruler.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\Designer\Ruler.cs" />
<Compile Include="Project\Designer\SectionDesigner.cs" />
<Compile Include="Project\Commands\FormsCommand.cs" />
<Compile Include="Project\Commands\ViewCommands.cs" />
@ -109,15 +85,11 @@ @@ -109,15 +85,11 @@
<Compile Include="Project\Designer\SmartTagTransactions.cs" />
<Compile Include="Project\Designer\TextBasedDesignerActionList.cs" />
<Compile Include="Project\Designer\TextItemDesigner.cs" />
<Compile Include="Project\Designer\RootDesigner\ReportItemsContainer.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\Designer\RootDesigner\ReportItemsContainer.cs" />
<Compile Include="Project\Designer\RootDesigner\ReportRootDesigner.cs" />
<Compile Include="Project\Designer\ShapeDesigner.cs" />
<Compile Include="Project\Designer\TableDesigner.cs" />
<Compile Include="Project\Dialogs\ExpressionEditor.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Project\Dialogs\ExpressionEditor.cs" />
<Compile Include="Project\Dialogs\ExpressionEditor.Designer.cs">
<DependentUpon>ExpressionEditor.cs</DependentUpon>
</Compile>
@ -126,43 +98,19 @@ @@ -126,43 +98,19 @@
<Compile Include="Project\Globals\StringWriterWithEncoding.cs" />
<Compile Include="Project\ReportDesignerView.cs" />
<Compile Include="Project\ReportExplorer\ExplorerNodes.cs" />
<Compile Include="Project\ReportExplorer\ExplorerTree.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportExplorer\ExplorerTree.cs" />
<Compile Include="Project\ReportExplorer\ReportExplorerPad.cs" />
<Compile Include="Project\ReportItems\AbstractItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseCircleItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseDataItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseImageItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseLine.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseRectangleItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseRowItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseTableItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseTextItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\BaseSection.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\ErrorItem.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\ReportItems\AbstractItem.cs" />
<Compile Include="Project\ReportItems\BaseCircleItem.cs" />
<Compile Include="Project\ReportItems\BaseDataItem.cs" />
<Compile Include="Project\ReportItems\BaseImageItem.cs" />
<Compile Include="Project\ReportItems\BaseLine.cs" />
<Compile Include="Project\ReportItems\BaseRectangleItem.cs" />
<Compile Include="Project\ReportItems\BaseRowItem.cs" />
<Compile Include="Project\ReportItems\BaseTableItem.cs" />
<Compile Include="Project\ReportItems\BaseTextItem.cs" />
<Compile Include="Project\ReportItems\BaseSection.cs" />
<Compile Include="Project\ReportItems\ErrorItem.cs" />
<Compile Include="Project\ReportItems\RectangleItemTypeProvider.cs" />
<Compile Include="Project\ReportManagers\BaseManager.cs" />
<Compile Include="Project\ReportManagers\StandartPreviewManager.cs" />
@ -180,48 +128,26 @@ @@ -180,48 +128,26 @@
<Compile Include="Project\ReportWizard\ReportWizardCommand.cs" />
<Compile Include="Project\ReportWizard\SqlParameterConverter.cs" />
<Compile Include="Project\ReportWizard\WizardCommands.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\BaseSettingsPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\BaseSettingsPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\DataGridViewColumnHeaderCheckBoxCell.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\LayoutPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\PullModelPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\PushModelPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\ResultPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\LayoutPanelControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\LayoutPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\PullModelPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\PushModelPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\ResultPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\LayoutPanelControl.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\LayoutPanelControl.Designer.cs">
<DependentUpon>LayoutPanelControl.cs</DependentUpon>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\AbstractOptionPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\AbstractWizardPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\CurrentPanelPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\AbstractOptionPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\AbstractWizardPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\CurrentPanelPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\DefaultDialogPanelDescriptor.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\DialogPanelDoozer.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\IDialogPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\IDialogPanelDescriptor.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\IWizardPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\StatusPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\WizardDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\StatusPanel.cs" />
<Compile Include="Project\ReportWizard\WizardPanels\Wizard\WizardDialog.cs" />
<Compile Include="Project\SecondaryViews\ReportPreview.cs" />
<Compile Include="Project\SecondaryViews\ReportViewerMessages.cs" />
<Compile Include="Project\SecondaryViews\ReportViewerSecondaryView.cs" />
@ -254,12 +180,8 @@ @@ -254,12 +180,8 @@
<Compile Include="Project\SharpQuery\GUI\SharpQueryPad.cs" />
<Compile Include="Project\SharpQuery\GUI\SharpQueryTree\SharpQueryDataNodes.cs" />
<Compile Include="Project\SharpQuery\GUI\SharpQueryTree\SharpQueryNodesRoot.cs" />
<Compile Include="Project\SharpQuery\GUI\SharpQueryTree\SharpQueryTree.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Project\SharpQuery\GUI\SQLParameterInput.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Project\SharpQuery\GUI\SharpQueryTree\SharpQueryTree.cs" />
<Compile Include="Project\SharpQuery\GUI\SQLParameterInput.cs" />
<Compile Include="Project\SharpQuery\ISchemaClass.cs" />
<Compile Include="Project\SharpQuery\SharpQueryCommands.cs" />
<Compile Include="Project\SharpQuery\SharpQuerySchemaClass.cs" />
@ -290,6 +212,32 @@ @@ -290,6 +212,32 @@
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Folder Include="Project\Configuration" />
<Folder Include="Project\Commands" />
<Folder Include="Project\Designer" />
<Folder Include="Project\Designer\RootDesigner" />
<Folder Include="Project\DesignerBinding" />
<Folder Include="Project\Dialogs" />
<Folder Include="Project\Globals" />
<Folder Include="Project\ReportWizard\WizardPanels\Wizard" />
<Folder Include="Project\SharpQuery" />
<Folder Include="Project\ReportExplorer" />
<Folder Include="Project\ReportWizard" />
<Folder Include="Project\ReportWizard\Generators" />
<Folder Include="Project\ReportWizard\ReportLayout" />
<Folder Include="Project\ReportWizard\Templates" />
<Folder Include="Project\ReportWizard\WizardPanels" />
<Folder Include="Project\SecondaryViews" />
<Folder Include="Project\ReportManagers" />
<Folder Include="Project\SharpQuery\Connection" />
<Folder Include="Project\SharpQuery\Exceptions" />
<Folder Include="Project\SharpQuery\GUI" />
<Folder Include="Project\SharpQuery\GUI\SharpQueryTree" />
<Folder Include="Project\Xml" />
<Folder Include="Project\UndoRedo" />
<Folder Include="Project\ReportItems" />
<Folder Include="Project\Toolbox" />
<Folder Include="Project\Services" />
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">
<Project>{2748AD25-9C63-4E12-877B-4DCE96FBED54}</Project>
<Name>ICSharpCode.SharpDevelop</Name>
@ -315,18 +263,6 @@ @@ -315,18 +263,6 @@
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\DisplayBindings\Data\ICSharpCode.Data.Core.UI\ICSharpCode.Data.Core.UI.csproj">
<Project>{BAD94D6E-4159-4CB6-B991-486F412D9BB6}</Project>
<Name>ICSharpCode.Data.Core.UI</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\DisplayBindings\Data\ICSharpCode.Data.Core\ICSharpCode.Data.Core.csproj">
<Project>{B7823AE9-4B43-4859-8796-2EBDC116FBB8}</Project>
<Name>ICSharpCode.Data.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\DisplayBindings\Data\ICSharpCode.Data.SQLServer\ICSharpCode.Data.SQLServer.csproj">
<Project>{AFE34868-AFA1-4E1C-9450-47AB4BE329D5}</Project>
<Name>ICSharpCode.Data.SQLServer</Name>
</ProjectReference>
<ProjectReference Include="..\ICSharpCode.Reports.Core\ICSharpCode.Reports.Core.csproj">
<Project>{4B2239FF-8FD6-431D-9D22-1B8049BA6917}</Project>
<Name>ICSharpCode.Reports.Core</Name>
@ -348,30 +284,5 @@ @@ -348,30 +284,5 @@
<Isolated>False</Isolated>
</COMReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Project\ReportWizard\Templates\" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 %28x86 und x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

246
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportWizard/WizardPanels/PullModelPanel.cs

@ -6,16 +6,14 @@ @@ -6,16 +6,14 @@
// </file>
using System;
using System.Drawing;
using System.Data;
using System.Globalization;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Forms.Integration;
using ICSharpCode.Core;
using ICSharpCode.Data.Core.Interfaces;
using ICSharpCode.Data.Core.UI.UserControls;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using SharpQuery.Gui.TreeView;
using SharpQuery.SchemaClass;
@ -30,6 +28,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -30,6 +28,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private System.ComponentModel.IContainer components;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Label label1;
private SharpQueryTree sharpQueryTree;
private System.Windows.Forms.TextBox txtSqlString;
private System.Windows.Forms.Label label3;
private bool firstDrag;
@ -37,9 +36,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -37,9 +36,7 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private CommandType commandType;
private ReportStructure reportStructure;
private Properties customizer;
private IDatabaseObjectBase currentNode;
private ElementHost databasesTreeHost;
private DatabasesTreeView databasesTree;
private ISharpQueryNode currentNode;
public enum NodeType {
@ -60,10 +57,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -60,10 +57,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
public PullModelPanel()
{
InitializeComponent();
//sharpQueryTree = new SharpQueryTree();
//sharpQueryTree.Dock = DockStyle.Fill;
//this.sharpQueryTree.AfterSelect += SharpQueryTreeAfterSelect;
//this.label2.Controls.Add(this.sharpQueryTree);
sharpQueryTree = new SharpQueryTree();
sharpQueryTree.Dock = DockStyle.Fill;
this.sharpQueryTree.AfterSelect += SharpQueryTreeAfterSelect;
this.label2.Controls.Add(this.sharpQueryTree);
base.EnableFinish = false;
base.EnableNext = false;
@ -72,15 +69,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -72,15 +69,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
base.IsLastPanel = false;
commandType = CommandType.Text;
this.txtSqlString.Enabled = false;
this.databasesTreeHost = new ElementHost() { Dock = DockStyle.Fill };
this.databasesTree = new DatabasesTreeView();
this.databasesTree.SelectedItemChanged += new System.Windows.RoutedPropertyChangedEventHandler<object>(databasesTree_SelectedItemChanged);
this.databasesTreeHost.Child = this.databasesTree;
this.label2.Controls.Add(databasesTreeHost);
Localize();
}
}
private void Localize() {
this.label1.Text = ResourceService.GetString("SharpQuery.Label.SharpQuery");
@ -131,28 +123,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -131,28 +123,10 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
private void TxtSqlStringDragEnter(object sender, System.Windows.Forms.DragEventArgs e){
// Handle the Drag effect when the listbox is entered
if (e.Data.GetFormats().Length > 0)
{
string draggedFormat = e.Data.GetFormats()[0];
Type draggedType = null;
// I'm doing this ugly thing because we are checking if the IDatabaseObjectBase is implemented,
// obviously Microsoft hasn't really considered using interfaces or base classes for drag and drop
AppDomain.CurrentDomain.GetAssemblies().ForEach(assembly =>
{
if (draggedType == null && assembly.GetName().Name == "ICSharpCode.Data.Core")
draggedType = assembly.GetType(draggedFormat);
});
if (draggedType != null && draggedType.GetInterface("IDatabaseObjectBase") != null)
{
e.Effect = DragDropEffects.Copy;
return;
}
}
e.Effect = DragDropEffects.None;
if (e.Data.GetDataPresent(DataFormats.Text))
e.Effect = DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
}
@ -161,116 +135,80 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -161,116 +135,80 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
this.txtSqlString.Clear();
firstDrag = false;
}
// Drag and drop isn't working via e.Data.GetData, so I'm using reflection here - took me a lot of time to figure out how this works...
// Still don't know why they implemented dnd so buggy and uncomfortable...
string draggedFormat = e.Data.GetFormats()[0];
IDatabaseObjectBase draggedObject = null;
if (e.Data.GetDataPresent(draggedFormat))
{
object tempDraggedObject = null;
FieldInfo info;
info = e.Data.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance);
tempDraggedObject = info.GetValue(e.Data);
info = tempDraggedObject.GetType().GetField("innerData", BindingFlags.NonPublic | BindingFlags.Instance);
System.Windows.DataObject dataObject = info.GetValue(tempDraggedObject) as System.Windows.DataObject;
draggedObject = dataObject.GetData(draggedFormat) as IDatabaseObjectBase;
}
switch (CheckCurrentNode(draggedObject))
{
case NodeType.TableImage:
// we insert Select * from.... otherwise we have to scan
//the whole string for incorrect columnNames
this.txtSqlString.Clear();
// AbstractSharpQuerySchemaClass tbl = (AbstractSharpQuerySchemaClass)this.currentNode.SchemaClass;
this.txtSqlString.Text = "SELECT * FROM " + (draggedObject as ICSharpCode.Data.Core.Interfaces.ITable).Name;
break;
case NodeType.ColumnImage:
string colName = (draggedObject as IColumn).Name;
if (this.txtSqlString.Text.Length == 0)
{
this.txtSqlString.AppendText("SELECT ");
this.txtSqlString.AppendText(colName);
}
else if (this.txtSqlString.Text.ToLower(CultureInfo.InvariantCulture).IndexOf("where", StringComparison.OrdinalIgnoreCase) > 0)
{
this.txtSqlString.AppendText(colName + " = ?");
}
else
{
this.txtSqlString.AppendText(", ");
this.txtSqlString.AppendText(colName);
}
break;
case NodeType.ProcedureImage:
this.txtSqlString.Clear();
// we can't use the dragobject because it returns an string like 'EXECUTE ProcName'
IProcedure procedure = draggedObject as IProcedure;
this.txtSqlString.Text = "EXECUTE " + procedure.Name;
reportStructure.SharpQueryProcedure = new SharpQueryProcedure(new SharpQuery.Connection.OLEDBConnectionWrapper(this.connectionString), procedure.Parent.Name, procedure.SchemaName, string.Empty, procedure.Name);
break;
case NodeType.ViewImage:
this.txtSqlString.Text = String.Empty;
this.txtSqlString.Text = "No idea how to handle views";
break;
default:
break;
}
base.EnableNext = true;
switch ( CheckCurrentNode(currentNode)) {
case NodeType.TableImage:
// we insert Select * from.... otherwise we have to scan
//the whole string for incorrect columnNames
this.txtSqlString.Clear();
// AbstractSharpQuerySchemaClass tbl = (AbstractSharpQuerySchemaClass)this.currentNode.SchemaClass;
this.txtSqlString.Text = "SELECT * FROM " + InferColumnName(((AbstractSharpQuerySchemaClass)currentNode.SchemaClass).Name);
break;
case NodeType.ColumnImage:
string colName = InferColumnName(((AbstractSharpQuerySchemaClass)currentNode.SchemaClass).Name);
if (this.txtSqlString.Text.Length == 0) {
this.txtSqlString.AppendText ("SELECT ");
this.txtSqlString.AppendText (colName);
} else if (this.txtSqlString.Text.ToLower(CultureInfo.InvariantCulture).IndexOf("where",StringComparison.OrdinalIgnoreCase) > 0){
this.txtSqlString.AppendText (colName + " = ?");
}
else {
this.txtSqlString.AppendText(", ");
this.txtSqlString.AppendText(colName);
}
break;
case NodeType.ProcedureImage:
this.txtSqlString.Clear();
// we can't use the dragobject because it returns an string like 'EXECUTE ProcName'
this.txtSqlString.Text = currentNode.SchemaClass.Name;
if (this.currentNode.SchemaClass is SharpQueryProcedure ) {
reportStructure.SharpQueryProcedure = (SharpQueryProcedure) this.currentNode.SchemaClass;
} else {
throw new ArgumentException("PullModelPanel:TxtSqlStringDragDrop : currentNode is not a SharpQueryProcedure");
}
break;
case NodeType.ViewImage:
this.txtSqlString.Text = String.Empty;
this.txtSqlString.Text ="No idea how to handle views";
break;
default:
break;
}
// base.EnableNext = true;
}
private void SharpQueryTreeAfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
{
ISharpQueryNode node = e.Node as ISharpQueryNode;
if (node != null){
this.currentNode = node;
// Set the connectionstring here and toogle EnableNext
if (node.Connection != null) {
if (node.Connection.ConnectionString.Length > 0) {
this.connectionString = node.Connection.ConnectionString;
this.txtSqlString.Enabled = true;
if (this.firstDrag) {
this.txtSqlString.Text = String.Empty;
}
} else {
this.EnableNext = false;
}
}
}
}
private void databasesTree_SelectedItemChanged(object sender, System.Windows.RoutedPropertyChangedEventArgs<object> e)
{
if (e.NewValue is IDatabaseObjectBase)
{
IDatabase parentDatabase = e.NewValue as IDatabase;
if (parentDatabase == null)
{
IDatabaseObjectBase currentDatabaseObject = e.NewValue as IDatabaseObjectBase;
while (parentDatabase == null)
{
if (currentDatabaseObject.Parent == null)
break;
else if (currentDatabaseObject.Parent is IDatabase)
{
parentDatabase = currentDatabaseObject.Parent as IDatabase;
break;
}
else
currentDatabaseObject = currentDatabaseObject.Parent;
}
}
if (parentDatabase != null)
this.currentNode = parentDatabase;
if (this.currentNode is IDatabase)
{
this.connectionString = "Provider=" + parentDatabase.Datasource.DatabaseDriver.ODBCProviderName + ";" + parentDatabase.ConnectionString;
this.txtSqlString.Enabled = true;
if (this.firstDrag)
this.txtSqlString.Text = string.Empty;
}
else
{
this.EnableNext = false;
}
}
}
///<summary>
/// We check if a ColumnName includes an "-" Character,
@ -296,15 +234,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard @@ -296,15 +234,15 @@ namespace ICSharpCode.Reports.Addin.ReportWizard
// check witch type of node we dragg
private static NodeType CheckCurrentNode (IDatabaseObjectBase node) {
private static NodeType CheckCurrentNode (ISharpQueryNode node) {
NodeType enm;
if (node is IColumn) {
if (node is SharpQueryNodeColumn) {
enm = NodeType.ColumnImage;
} else if (node is ICSharpCode.Data.Core.Interfaces.ITable) {
} else if (node is SharpQueryNodeTable) {
enm = NodeType.TableImage;
} else if (node is IProcedure) {
} else if (node is SharpQueryNodeProcedure) {
enm = NodeType.ProcedureImage;
} else if (node is IView) {
} else if (node is SharpQueryNodeView) {
enm = NodeType.ViewImage;
}
else {

Loading…
Cancel
Save