System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact a32116abce46475c651fd14b71f4cb6832528419:


0000: 6e 61 6d 65 73 70 61 63 65 20 53 51 4c 69 74 65  namespace SQLite
0010: 2e 44 65 73 69 67 6e 65 72 0a 7b 0a 20 20 75 73  .Designer.{.  us
0020: 69 6e 67 20 53 79 73 74 65 6d 3b 0a 20 20 75 73  ing System;.  us
0030: 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6d 70 6f  ing System.Compo
0040: 6e 65 6e 74 4d 6f 64 65 6c 3b 0a 20 20 75 73 69  nentModel;.  usi
0050: 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6d 70 6f 6e  ng System.Compon
0060: 65 6e 74 4d 6f 64 65 6c 2e 44 65 73 69 67 6e 3b  entModel.Design;
0070: 0a 20 20 75 73 69 6e 67 20 53 79 73 74 65 6d 2e  .  using System.
0080: 44 61 74 61 2e 43 6f 6d 6d 6f 6e 3b 0a 20 20 75  Data.Common;.  u
0090: 73 69 6e 67 20 53 79 73 74 65 6d 2e 44 61 74 61  sing System.Data
00a0: 3b 0a 0a 20 20 5b 50 72 6f 76 69 64 65 50 72 6f  ;..  [ProvidePro
00b0: 70 65 72 74 79 28 22 43 6f 6d 6d 61 6e 64 44 65  perty("CommandDe
00c0: 73 69 67 6e 54 69 6d 65 56 69 73 69 62 6c 65 22  signTimeVisible"
00d0: 2c 20 74 79 70 65 6f 66 28 49 44 62 43 6f 6d 6d  , typeof(IDbComm
00e0: 61 6e 64 29 29 5d 0a 20 20 69 6e 74 65 72 6e 61  and))].  interna
00f0: 6c 20 73 65 61 6c 65 64 20 63 6c 61 73 73 20 53  l sealed class S
0100: 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 44 65 73 69  QLiteCommandDesi
0110: 67 6e 65 72 20 3a 20 43 6f 6d 70 6f 6e 65 6e 74  gner : Component
0120: 44 65 73 69 67 6e 65 72 2c 20 49 45 78 74 65 6e  Designer, IExten
0130: 64 65 72 50 72 6f 76 69 64 65 72 0a 20 20 7b 0a  derProvider.  {.
0140: 20 20 20 20 70 72 69 76 61 74 65 20 6f 62 6a 65      private obje
0150: 63 74 20 5f 64 65 73 69 67 6e 65 72 3b 0a 20 20  ct _designer;.  
0160: 20 20 70 72 69 76 61 74 65 20 54 79 70 65 20 5f    private Type _
0170: 64 65 73 69 67 6e 65 72 54 79 70 65 3b 0a 20 20  designerType;.  
0180: 20 20 70 72 69 76 61 74 65 20 62 6f 6f 6c 20 76    private bool v
0190: 69 73 69 62 6c 65 3b 0a 0a 20 20 20 20 70 75 62  isible;..    pub
01a0: 6c 69 63 20 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  lic SQLiteComman
01b0: 64 44 65 73 69 67 6e 65 72 28 29 0a 20 20 20 20  dDesigner().    
01c0: 7b 0a 20 20 20 20 20 20 5f 64 65 73 69 67 6e 65  {.      _designe
01d0: 72 54 79 70 65 20 3d 20 53 51 4c 69 74 65 44 61  rType = SQLiteDa
01e0: 74 61 41 64 61 70 74 65 72 54 6f 6f 6c 62 6f 78  taAdapterToolbox
01f0: 49 74 65 6d 2e 5f 76 73 64 65 73 69 67 6e 65 72  Item._vsdesigner
0200: 2e 47 65 74 54 79 70 65 28 22 4d 69 63 72 6f 73  .GetType("Micros
0210: 6f 66 74 2e 56 53 44 65 73 69 67 6e 65 72 2e 44  oft.VSDesigner.D
0220: 61 74 61 2e 56 53 2e 44 61 74 61 43 6f 6d 6d 61  ata.VS.DataComma
0230: 6e 64 44 65 73 69 67 6e 65 72 22 29 3b 0a 20 20  ndDesigner");.  
0240: 20 20 20 20 5f 64 65 73 69 67 6e 65 72 20 3d 20      _designer = 
0250: 41 63 74 69 76 61 74 6f 72 2e 43 72 65 61 74 65  Activator.Create
0260: 49 6e 73 74 61 6e 63 65 28 5f 64 65 73 69 67 6e  Instance(_design
0270: 65 72 54 79 70 65 29 3b 0a 20 20 20 20 7d 0a 0a  erType);.    }..
0280: 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72      public overr
0290: 69 64 65 20 76 6f 69 64 20 49 6e 69 74 69 61 6c  ide void Initial
02a0: 69 7a 65 28 49 43 6f 6d 70 6f 6e 65 6e 74 20 63  ize(IComponent c
02b0: 6f 6d 70 6f 6e 65 6e 74 29 0a 20 20 20 20 7b 0a  omponent).    {.
02c0: 20 20 20 20 20 20 76 69 73 69 62 6c 65 20 3d 20        visible = 
02d0: 28 28 44 62 43 6f 6d 6d 61 6e 64 29 63 6f 6d 70  ((DbCommand)comp
02e0: 6f 6e 65 6e 74 29 2e 44 65 73 69 67 6e 54 69 6d  onent).DesignTim
02f0: 65 56 69 73 69 62 6c 65 3b 0a 0a 20 20 20 20 20  eVisible;..     
0300: 20 28 28 43 6f 6d 70 6f 6e 65 6e 74 44 65 73 69   ((ComponentDesi
0310: 67 6e 65 72 29 5f 64 65 73 69 67 6e 65 72 29 2e  gner)_designer).
0320: 49 6e 69 74 69 61 6c 69 7a 65 28 63 6f 6d 70 6f  Initialize(compo
0330: 6e 65 6e 74 29 3b 0a 20 20 20 20 20 20 62 61 73  nent);.      bas
0340: 65 2e 49 6e 69 74 69 61 6c 69 7a 65 28 63 6f 6d  e.Initialize(com
0350: 70 6f 6e 65 6e 74 29 3b 0a 20 20 20 20 7d 0a 0a  ponent);.    }..
0360: 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20      public bool 
0370: 47 65 74 43 6f 6d 6d 61 6e 64 44 65 73 69 67 6e  GetCommandDesign
0380: 54 69 6d 65 56 69 73 69 62 6c 65 28 49 44 62 43  TimeVisible(IDbC
0390: 6f 6d 6d 61 6e 64 20 63 6d 64 29 0a 20 20 20 20  ommand cmd).    
03a0: 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 76  {.      return v
03b0: 69 73 69 62 6c 65 3b 0a 20 20 20 20 7d 0a 0a 20  isible;.    }.. 
03c0: 20 20 20 70 75 62 6c 69 63 20 76 6f 69 64 20 53     public void S
03d0: 65 74 43 6f 6d 6d 61 6e 64 44 65 73 69 67 6e 54  etCommandDesignT
03e0: 69 6d 65 56 69 73 69 62 6c 65 28 49 44 62 43 6f  imeVisible(IDbCo
03f0: 6d 6d 61 6e 64 20 63 6d 64 2c 20 62 6f 6f 6c 20  mmand cmd, bool 
0400: 76 61 6c 75 65 29 0a 20 20 20 20 7b 0a 20 20 20  value).    {.   
0410: 20 20 20 76 69 73 69 62 6c 65 20 3d 20 76 61 6c     visible = val
0420: 75 65 3b 0a 20 20 20 20 20 20 54 79 70 65 44 65  ue;.      TypeDe
0430: 73 63 72 69 70 74 6f 72 2e 52 65 66 72 65 73 68  scriptor.Refresh
0440: 28 63 6d 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20  (cmd);.    }..  
0450: 20 20 70 72 6f 74 65 63 74 65 64 20 6f 76 65 72    protected over
0460: 72 69 64 65 20 76 6f 69 64 20 50 72 65 46 69 6c  ride void PreFil
0470: 74 65 72 41 74 74 72 69 62 75 74 65 73 28 53 79  terAttributes(Sy
0480: 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 6f 6e 73  stem.Collections
0490: 2e 49 44 69 63 74 69 6f 6e 61 72 79 20 61 74 74  .IDictionary att
04a0: 72 69 62 75 74 65 73 29 0a 20 20 20 20 7b 0a 20  ributes).    {. 
04b0: 20 20 20 20 20 62 61 73 65 2e 50 72 65 46 69 6c       base.PreFil
04c0: 74 65 72 41 74 74 72 69 62 75 74 65 73 28 61 74  terAttributes(at
04d0: 74 72 69 62 75 74 65 73 29 3b 0a 20 20 20 20 20  tributes);.     
04e0: 20 44 65 73 69 67 6e 54 69 6d 65 56 69 73 69 62   DesignTimeVisib
04f0: 6c 65 41 74 74 72 69 62 75 74 65 20 61 74 74 20  leAttribute att 
0500: 3d 20 6e 65 77 20 44 65 73 69 67 6e 54 69 6d 65  = new DesignTime
0510: 56 69 73 69 62 6c 65 41 74 74 72 69 62 75 74 65  VisibleAttribute
0520: 28 76 69 73 69 62 6c 65 29 3b 0a 20 20 20 20 20  (visible);.     
0530: 20 61 74 74 72 69 62 75 74 65 73 5b 61 74 74 2e   attributes[att.
0540: 54 79 70 65 49 64 5d 20 3d 20 61 74 74 3b 0a 20  TypeId] = att;. 
0550: 20 20 20 7d 0a 0a 20 20 20 20 70 75 62 6c 69 63     }..    public
0560: 20 6f 76 65 72 72 69 64 65 20 44 65 73 69 67 6e   override Design
0570: 65 72 56 65 72 62 43 6f 6c 6c 65 63 74 69 6f 6e  erVerbCollection
0580: 20 56 65 72 62 73 0a 20 20 20 20 7b 0a 20 20 20   Verbs.    {.   
0590: 20 20 20 67 65 74 0a 20 20 20 20 20 20 7b 0a 20     get.      {. 
05a0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 28         return ((
05b0: 43 6f 6d 70 6f 6e 65 6e 74 44 65 73 69 67 6e 65  ComponentDesigne
05c0: 72 29 5f 64 65 73 69 67 6e 65 72 29 2e 56 65 72  r)_designer).Ver
05d0: 62 73 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20  bs;.      }.    
05e0: 7d 0a 20 20 20 20 23 72 65 67 69 6f 6e 20 49 45  }.    #region IE
05f0: 78 74 65 6e 64 65 72 50 72 6f 76 69 64 65 72 20  xtenderProvider 
0600: 4d 65 6d 62 65 72 73 0a 0a 20 20 20 20 70 75 62  Members..    pub
0610: 6c 69 63 20 62 6f 6f 6c 20 43 61 6e 45 78 74 65  lic bool CanExte
0620: 6e 64 28 6f 62 6a 65 63 74 20 65 78 74 65 6e 64  nd(object extend
0630: 65 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20  ee).    {.      
0640: 72 65 74 75 72 6e 20 28 65 78 74 65 6e 64 65 65  return (extendee
0650: 20 69 73 20 44 62 43 6f 6d 6d 61 6e 64 29 3b 0a   is DbCommand);.
0660: 20 20 20 20 7d 0a 0a 20 20 20 20 23 65 6e 64 72      }..    #endr
0670: 65 67 69 6f 6e 0a 20 20 7d 0a 7d 0a              egion.  }.}.