ADDED SQLite.Designer/CtcComponents/Guids.h Index: SQLite.Designer/CtcComponents/Guids.h ================================================================== --- /dev/null +++ SQLite.Designer/CtcComponents/Guids.h @@ -0,0 +1,23 @@ +//**************************************************************************** +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// This code is licensed under the Visual Studio SDK license terms. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//**************************************************************************** + +// +// This file is used to define the Guids used to identify the command groups +// created by the sample. +// + +// {DCBE6C8D-0E57-4099-A183-98FF74C64D9C} +#define guidVSPackageBasedProviderPkg { 0xdcbe6c8d, 0x0e57, 0x4099, { 0xa1, 0x83, 0x98, 0xff, 0x74, 0xc6, 0x4d, 0x9c } } + +#define Group_Undefined { 0x83285929, 0x227c, 0x11d3, { 0xb8, 0x70, 0x0, 0xc0, 0x4f, 0x79, 0xf8, 0x2 } } + +// {814658EE-A28E-4b97-BC33-4B1BC81EBECB} +#define guidVSPackageBasedProviderCmdSet { 0x814658ee, 0xa28e, 0x4b97, { 0xbc, 0x33, 0x4b, 0x1b, 0xc8, 0x1e, 0xbe, 0xcb } } ADDED SQLite.Designer/CtcComponents/PkgCmd.ctc Index: SQLite.Designer/CtcComponents/PkgCmd.ctc ================================================================== --- /dev/null +++ SQLite.Designer/CtcComponents/PkgCmd.ctc @@ -0,0 +1,45 @@ +//**************************************************************************** +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// This code is licensed under the Visual Studio SDK license terms. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//**************************************************************************** + +// +// This is the file that defines the actual layout and type of the commands. +// It is divided in different sections (e.g. command definition, command +// placement, ...), with each defining a specific set of properties. +// + +#include "stdidcmd.h" +#include "vsshlids.h" +#include "msobtnid.h" +#include "Guids.h" +#include "PkgCmdID.h" + +#define DIS_DEF DEFAULTDISABLED | DEFAULTINVISIBLE | DYNAMICVISIBILITY +#define OI_NOID guidOfficeIcon:msotcidNoIcon + +CMDS_SECTION guidVSPackageBasedProviderPkg + + BUTTONS_BEGIN + + guidVSPackageBasedProviderCmdSet:cmdidCreateTable, Group_Undefined:0, 0x0000, OI_NOID, BUTTON, DIS_DEF, "&Create Table"; + guidVSPackageBasedProviderCmdSet:cmdidAlterTable, Group_Undefined:0, 0x0000, OI_NOID, BUTTON, DIS_DEF, "&Alter Table"; + guidVSPackageBasedProviderCmdSet:cmdidDropTable, Group_Undefined:0, 0x0000, OI_NOID, BUTTON, DIS_DEF, "&Drop Table"; + + BUTTONS_END + +CMDS_END + +CMDPLACEMENT_SECTION + + guidVSPackageBasedProviderCmdSet:cmdidCreateTable, guidVSData:IDG_DV_STATIC, 0x0100; + guidVSPackageBasedProviderCmdSet:cmdidAlterTable, guidVSData:IDG_DV_OBJECT, 0x0100; + guidVSPackageBasedProviderCmdSet:cmdidDropTable, guidVSData:IDG_DV_OBJECT, 0x0100; + +CMDPLACEMENT_END ADDED SQLite.Designer/CtcComponents/PkgCmdID.h Index: SQLite.Designer/CtcComponents/PkgCmdID.h ================================================================== --- /dev/null +++ SQLite.Designer/CtcComponents/PkgCmdID.h @@ -0,0 +1,21 @@ +//**************************************************************************** +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// This code is licensed under the Visual Studio SDK license terms. +// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF +// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY +// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR +// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT. +// +//**************************************************************************** + +// +// Definition of the numeric part of the IDs for the CTC elements of this +// package. +// + +/////////////////////////////////////////////////////////////////////////////// +// Commands +#define cmdidCreateTable 256 +#define cmdidAlterTable 257 +#define cmdidDropTable 258 Index: SQLite.Designer/SQLite.Designer.csproj ================================================================== --- SQLite.Designer/SQLite.Designer.csproj +++ SQLite.Designer/SQLite.Designer.csproj @@ -62,10 +62,11 @@ + Form @@ -99,11 +100,18 @@ Designer SQLiteConnectionUIControl.cs + + + 1000 + + + + ADDED SQLite.Designer/SQLiteCommandHandler.cs Index: SQLite.Designer/SQLiteCommandHandler.cs ================================================================== --- /dev/null +++ SQLite.Designer/SQLiteCommandHandler.cs @@ -0,0 +1,70 @@ +namespace SQLite.Designer +{ + using System; + using Microsoft.VisualStudio.Data; + using System.Windows.Forms.Design; + + internal sealed class SQLiteCommandHandler : DataViewCommandHandler + { + private static readonly Guid guidDataCmdSet = new Guid("501822E1-B5AF-11d0-B4DC-00A0C91506EF"); + private static readonly Guid guidSQLiteCmdSet = new Guid("814658EE-A28E-4b97-BC33-4B1BC81EBECB"); + private const int cmdidCreateTable = 256; + + public SQLiteCommandHandler() + { + } + + public override OleCommandStatus GetCommandStatus(int[] itemIds, OleCommand command, OleCommandTextType textType, OleCommandStatus status) + { + if (command.GroupGuid == guidSQLiteCmdSet) + { + switch (command.CommandId) + { + case cmdidCreateTable: + status.Supported = true; + status.Visible = true; + status.Enabled = true; + break; + default: + base.GetCommandStatus(itemIds, command, textType, status); + break; + } + } + else + { + base.GetCommandStatus(itemIds, command, textType, status); + } + return status; + } + + /// + /// This method executes a specified command, potentially based + /// on parameters passed in from the data view support XML. + /// + public override object ExecuteCommand(int itemId, OleCommand command, OleCommandExecutionOption executionOption, object arguments) + { + object returnValue = null; + if (command.GroupGuid == guidSQLiteCmdSet) + { + switch (command.CommandId) + { + case cmdidCreateTable: + CreateTable(); + break; + default: + returnValue = base.ExecuteCommand(itemId, command, executionOption, arguments); + break; + } + } + else + { + returnValue = base.ExecuteCommand(itemId, command, executionOption, arguments); + } + return returnValue; + } + + private void CreateTable() + { + } + } +} Index: SQLite.Designer/SQLiteDataViewSupport.xml ================================================================== --- SQLite.Designer/SQLiteDataViewSupport.xml +++ SQLite.Designer/SQLiteDataViewSupport.xml @@ -22,16 +22,17 @@ - + User Tables +