コード例 #1
0
 public WinFrameControlDecorator(View view, FrameControl frameControl, IAdditionalViewControlsRule controlsRule)
     : base(view, frameControl, controlsRule)
 {
     _frameControl = frameControl;
     frameControl.Disposed += hintPanel_Disposed;
     UpdateText();
 }
コード例 #2
0
 protected AdditionalViewControlsProviderDecorator(View view,object control, IAdditionalViewControlsRule controlsRule)
 {
     this.control = control;
     calculator = new AdditionalViewControlsProviderCalculator(controlsRule,view.ObjectTypeInfo.Type);
     calculator.HintChanged += calculator_HintChanged;
     calculator.CurrentObject = view.CurrentObject;
 }
コード例 #3
0
 public WebHintPanelDecorator(View view, HintPanelBase hintPanelBase, IAdditionalViewControlsRule controlsRule)
     : base(view, hintPanelBase, controlsRule) {
     _hintPanelBase = hintPanelBase;
     hintPanelBase.Unload += hintPanel_Unload;
     hintPanelBase.Disposed += hintPanel_Disposed;
     UpdateText();
 }
コード例 #4
0
 public static Type Get_DecoratorType(IAdditionalViewControlsRule additionalViewControlsRule)
 {
     ITypeInfo decoratorType =
         ModelAdditionalViewControlsRuleDomainLogic.GetDecorators().Where(info => info.Type.GetCustomAttributes(typeof(TypeDecorator), true).OfType<TypeDecorator>().Where(
             decorator => decorator.IsDefaultDecorator).Count() > 0).FirstOrDefault();
     return decoratorType != null ? decoratorType.Type : typeof(NotAvaliableInThisPlatform);
 }
コード例 #5
0
 public WebHintPanelDecorator(View view, HintPanel hintPanel, IAdditionalViewControlsRule controlsRule)
     : base(view, hintPanel, controlsRule) {
     this.hintPanel = hintPanel;
     hintPanel.Unload += hintPanel_Unload;
     hintPanel.Disposed += hintPanel_Disposed;
     UpdateText();
     count++;
 }
コード例 #6
0
 public AdditionalViewControlsPermission(IAdditionalViewControlsRule logicRule)
     : base(OperationName, logicRule) {
     ControlType=logicRule.ControlType;
     DecoratorType = logicRule.DecoratorType;
     Message = logicRule.Message;
     Position=logicRule.Position;
     BackColor=logicRule.BackColor;
     ForeColor=logicRule.ForeColor;
     FontStyle=logicRule.FontStyle;
     Height=logicRule.Height;
     FontSize=logicRule.FontSize;
 }
コード例 #7
0
        protected AdditionalViewControlsProviderDecorator(View view,object control, IAdditionalViewControlsRule controlsRule)
        {
            this.control = control;
            calculator = new AdditionalViewControlsProviderCalculator(controlsRule,view.ObjectTypeInfo.Type);
//            if (view is DetailView)
//                calculator.CurrentViewType = ViewType.DetailView;
//            if (view is ListView)
//                calculator.CurrentViewType = ViewType.ListView;
            calculator.HintChanged += calculator_HintChanged;
//            view.CurrentObjectChanged += View_CurrentObjectChanged;
            calculator.CurrentObject = view.CurrentObject;
        }
コード例 #8
0
 public AdditionalViewControlsRule(IAdditionalViewControlsRule additionalViewControlsRule)
     : base(additionalViewControlsRule) {
         Message = additionalViewControlsRule.Message;
         ControlType = additionalViewControlsRule.ControlType;
         DecoratorType = additionalViewControlsRule.DecoratorType;
         MessageProperty = additionalViewControlsRule.MessageProperty;
         Position = additionalViewControlsRule.Position;
         BackColor = additionalViewControlsRule.BackColor;
         ForeColor = additionalViewControlsRule.ForeColor;
         FontStyle = additionalViewControlsRule.FontStyle;
         Height = additionalViewControlsRule.Height;
         FontSize=additionalViewControlsRule.FontSize;
 }
コード例 #9
0
 protected override void InitializeControl(object control, IAdditionalViewControlsRule rule,
                                      AdditionalViewControlsProviderCalculator additionalViewControlsProviderCalculator,
                                      ExecutionContext executionContext) {
     base.InitializeControl(control, rule, additionalViewControlsProviderCalculator, executionContext);
     var value = (Control)control;
     if (rule.Position != Position.DetailViewItem) {
         if (rule.Position == Position.Bottom)
             value.Dock = DockStyle.Bottom;
         else if (rule.Position == Position.Top)
             value.Dock = DockStyle.Top;
     } else {
         value.Dock = DockStyle.Fill;
     }
 }
コード例 #10
0
 public AdditionalViewControlsProviderCalculator(IAdditionalViewControlsRule controlsRule,Type objectType) {
     _controlsRule = controlsRule;
     _objectType = objectType;
 }
コード例 #11
0
 public WinHintPanelDecorator(View view, object hintPanel, IAdditionalViewControlsRule controlsRule): this(view, hintPanel as HintPanel, controlsRule) {
 }
コード例 #12
0
 protected virtual IAdditionalViewControl GetControl(Type controlType, IAdditionalViewControl additionalViewControl, IAdditionalViewControlsRule rule) {
     var control = additionalViewControl ?? controlType.CreateInstance() as IAdditionalViewControl;
     var manager = control as ISupportLayoutManager;
     if (manager != null) {
         if (rule.Position != Position.DetailViewItem)
             throw new ArgumentException("Rule with Id:" + rule.Id + " position should be set to " + Position.DetailViewItem);
         if (RuleToLayoutMap.ContainsKey(rule.Id))
             manager.LayoutItem = RuleToLayoutMap[rule.Id];
     }
     return control;
 }
コード例 #13
0
 protected virtual void RemoveControl(IList controls, object firstOrDefault, IAdditionalViewControlsRule rule) {
     if (rule.Position != Position.DetailViewItem)
         controls.Remove(firstOrDefault);
 }
コード例 #14
0
 IAdditionalViewControl FindControl(IAdditionalViewControlsRule rule, ICollection controls) {
     return controls.OfType<IAdditionalViewControl>().FirstOrDefault(o => o.Rule.Id == rule.Id);
 }
コード例 #15
0
 protected object GetContainerControl(IViewSiteTemplate viewSiteTemplate, IAdditionalViewControlsRule rule) {
     if (rule.Position == Position.DetailViewItem && View is DetailView) {
         var modelAdditionalViewControlsItem = ((DetailView)View).Items.OfType<AdditionalViewControlsItem>().FirstOrDefault(item => item.Model.Rule.Id == rule.Id);
         return modelAdditionalViewControlsItem != null ? modelAdditionalViewControlsItem.Control : null;
     }
     return viewSiteTemplate.ViewSiteControl;
 }
コード例 #16
0
 public static Type Get_ControlType(IAdditionalViewControlsRule additionalViewControlsRule)
 {
     TypeDecorator decorator = ModelAdditionalViewControlsRuleDomainLogic.GetTypeDecorator(additionalViewControlsRule.Position);
     return decorator != null ? decorator.DefaultType : typeof(NotAvaliableInThisPlatform);
 }
コード例 #17
0
 protected virtual void InitializeControl(object control, IAdditionalViewControlsRule additionalViewControlsRule, AdditionalViewControlsProviderCalculator calculator, ExecutionContext context) {
     var appeareance = control as ISupportAppeareance;
     if (appeareance != null) {
         var supportAppeareance = appeareance;
         supportAppeareance.BackColor = additionalViewControlsRule.BackColor;
         supportAppeareance.Height = additionalViewControlsRule.Height;
         supportAppeareance.ForeColor = additionalViewControlsRule.ForeColor;
         supportAppeareance.FontStyle = additionalViewControlsRule.FontStyle;
         supportAppeareance.FontSize = additionalViewControlsRule.FontSize;
         supportAppeareance.ImageName = additionalViewControlsRule.ImageName;
     }
 }
コード例 #18
0
 bool ViewContextIsCorrect(IAdditionalViewControlsRule rule) {
     return rule.Position != Position.DetailViewItem || !(View is ListView);
 }
コード例 #19
0
 public AdditionalViewControlsRule(IAdditionalViewControlsRule additionalViewControlsRule)
     : base(additionalViewControlsRule) {
     _additionalViewControlsRule = additionalViewControlsRule;
 }