Inheritance: MonoBehaviour
コード例 #1
0
        private void Initialize()
        {
            _scroller = new Scroller(Context);

		    var configuration = ViewConfiguration.Get(Context);
		    _touchSlop = configuration.ScaledTouchSlop;
		    _maximumVelocity = configuration.ScaledMaximumFlingVelocity;
        }
コード例 #2
0
ファイル: ScrollList.cs プロジェクト: n13i/tumblott
 public ScrollList()
 {
     InitializeComponent();
     this.items = new List<ScrollListItem>();
     scroller = new Scroller(this);
     scroller.Scroll += new MouseEventHandler(scroller_Scroll);
     scroller.ScrollStopped += new EventHandler(scroller_ScrollStopped);
     scroller.Tapped += new MouseEventHandler(scroller_Tapped);
 }
コード例 #3
0
ファイル: BeginLevel.cs プロジェクト: CodeSmore/Space-Dragons
    void Awake()
    {
        enemies = GameObject.Find ("Enemies");
        enemies.SetActive (false);
        gameController = GameObject.FindGameObjectWithTag ("GameController");
        gameController.SetActive (false);

        background = FindObjectOfType<Scroller>();
    }
コード例 #4
0
ファイル: ImageView.cs プロジェクト: n13i/tumblott
        public ImageView()
        {
            InitializeComponent();

            // この時点では this.Width/this.Height がレイアウト前のままっぽい

            scroller = new Scroller(this);
            scroller.Scroll += new MouseEventHandler(scroller_Flick);
            scroller.ScrollStopped += new EventHandler(scroller_FlickStopped);
            scroller.Zoom += new MouseEventHandler(scroller_Zoom);
            scroller.ZoomStopped += new EventHandler(scroller_ZoomStopped);
        }
コード例 #5
0
        private bool OnIndexTouchEvent(object sender, TouchEventArgs args)
        {
            if (args.Touch.GetState(0) == Tizen.NUI.PointStateType.Finished)
            {
                for (int i = PagesCount - 1; i >= 0; i--)
                {
                    if (args.Touch.GetLocalPosition(0).X >= IndicatorPositions[i].X)
                    {
                        Scroller.ScrollToIndex(i);
                        break;
                    }
                }
            }

            return(true);
        }
コード例 #6
0
        public override void CreateView()
        {
            using (ViewConfiguration configuration = ViewConfiguration.Get(Activity))
                TouchSlop = configuration.ScaledTouchSlop;
            Scroller = new Scroller(Activity);

            _view                     = new CustomViewGroup(Activity);
            _view.TouchEvent         += View_TouchInvoke;
            _view.TouchingEvent      += View_TouchingInvoke;
            _view.LayoutEvent        += View_LayoutInvoke;
            _view.MeasureEvent       += View_MeasureInvoke;
            _view.ComputeScrollEvent += View_ComputeScrollEvent;
            _view.Clickable           = false;

            CreateChildrens();
        }
コード例 #7
0
        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            App.Current.Dispatcher.Invoke((Action) delegate()
            {
                InputBlock.Text = " " + DateTime.Now.ToString();// InputBlock.Text + Environment.NewLine + "now sending messages";
                Scroller.ScrollToBottom();
                InputBlock.ScrollToEnd();
            });

            if (!bw.IsBusy)
            {
                tasks();
            }
            Console.WriteLine("new process after one minute:");
            ProcessQueue();
        }
コード例 #8
0
    public Jets(Graphics g, Image jetImage, Scroller scroller)
    {
        Random rnd = new Random();

        this.scroller = scroller;
        this.jetImage = jetImage;
        this.g        = g;
        for (int j = 0; j < jets.Length; j++)
        {
            int v = rnd.Next(45) * 10 + 1;
            int w = rnd.Next(100) * 10 + 1;
            jets[j]   = new Jet();
            jets[j].x = v;
            jets[j].y = w;
        }
    }
コード例 #9
0
        private void SnapToScreen(int whichScreen, int duration = -1)
        {
            CurrentScreen = Math.Max(0, Math.Min(whichScreen, Adapter.Count - 1));
            var nextX = CurrentScreen * Width;
            var delta = nextX - _nextX;

            if (duration < 0)
            {
                Scroller.StartScroll(_nextX, 0, delta, 0, (int)(Math.Abs(delta) / (float)Width * AnimationScreenDurationMillis));
            }
            else
            {
                Scroller.StartScroll(_nextX, 0, delta, 0, duration);
            }

            RefreshPosition();
        }
コード例 #10
0
        public LogWindow()
        {
            InitializeComponent();
            if (!UserSettings.CurrentSettings.WindowCollection.ContainsKey(Name))
            {
                UserSettings.CurrentSettings.WindowCollection.Add(Name, new TypeSettings());
            }
            else
            {
                Left = UserSettings.CurrentSettings.WindowCollection[Name].ThisLocation.X;
                Top  = UserSettings.CurrentSettings.WindowCollection[Name].ThisLocation.Y;

                Width  = UserSettings.CurrentSettings.WindowCollection[Name].ThisSize.Width;
                Height = UserSettings.CurrentSettings.WindowCollection[Name].ThisSize.Height;
            }
            Scroller.ScrollToBottom();
        }
コード例 #11
0
        private async void ProcessQueue()
        {
            // Lock this up so that one thread at a time can get through here.
            // Others will do an async await until it is their turn.
            await asyncLock.WaitAsync();

            try
            {
                // Offload this to a background thread (so that the UI is not affected)
                var queueProcessingTask = Task.Run(() =>
                {
                    var processingStuck = false;
                    while (myQs.Count >= 1 && !processingStuck)
                    {
                        // Get the next item
                        var queueItem = myQs.Peek();
                        // Try to process this one. (ie DoStuff)
                        App.Current.Dispatcher.Invoke((Action) delegate()
                        {
                            InputBlock2.Text = InputBlock2.Text + Environment.NewLine + "Processing:." + queueItem.number + " " + " Processing this: " + queueItem.comm + "  " + DateTime.Now.ToString();
                            Scroller.ScrollToBottom();
                            InputBlock2.ScrollToEnd();
                        });


                        processingStuck = Send(queueItem.mid, queueItem.message, queueItem.number, queueItem.comm);
                        // If we processed successfully, then we can dequeue the item
                        if (!processingStuck)
                        {
                            myQs.Dequeue();
                            App.Current.Dispatcher.Invoke((Action) delegate()
                            {
                                InputBlock.Text = InputBlock2.Text + Environment.NewLine + "Removed from queue:." + queueItem.number + " " + " Processing this: " + queueItem.comm + "  " + DateTime.Now.ToString();
                                Scroller.ScrollToBottom();
                                InputBlock2.ScrollToEnd();
                            });
                        }
                    }
                });
                Task.WaitAll(queueProcessingTask);
            }
            finally
            {
                asyncLock.Release();
            }
        }
コード例 #12
0
        public PerformanceTest1Page()
        {
            InitializeComponent();

            FPSCounter = new FrameUpdate();

            AppWindow            = NUIApplication.GetDefaultWindow();
            StartButton.Clicked += OnButtonScrollClicked;

            var items = new ListItemTitle[TestItems];

            for (int i = 0; i < TestItems; i++)
            {
                items[i] = new ListItemTitle("item: " + i.ToString());
                Scroller.Add(items[i]);
            }
        }
コード例 #13
0
 async void InputBlock_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter)
     {
         InputBlock.IsEnabled = false;
         try
         {
             await _context.ConsoleVM.RunCommand();
         }
         finally
         {
             InputBlock.IsEnabled = true;
             InputBlock.Focus();
             Scroller.ScrollToBottom();
         }
     }
 }
コード例 #14
0
ファイル: CarouselPageRenderer.cs プロジェクト: Glepooek/maui
 protected override void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (Element != null)
         {
             Element.CurrentPageChanged -= OnCurrentPageChanged;
             Element.PagesChanged       -= OnPagesChanged;
             _scroller.PageScrolled     -= OnPageScrolled;
             _index.Changed             -= OnIndexChanged;
         }
         _innerContainer = null;
         _scroller       = null;
         _index          = null;
     }
     base.Dispose(disposing);
 }
コード例 #15
0
        public void OnItemClicked(object sender, CarouselViewItemClickedEventArgs args)
        {
            if (FocusedItem == -1)
            {
                items[args.ClickedItemId].SetFocused();
                FocusedItem = args.ClickedItemId;
            }
            else
            {
                items[FocusedItem].SetNormal();
                items[args.ClickedItemId].SetFocused();
            }

            FocusedItem = args.ClickedItemId;

            Scroller.ScrollToIndex(FocusedItem);
        }
コード例 #16
0
        private void UpArrow_MouseDown(object sender, MouseButtonEventArgs e)
        {
            double n = Scroller.VerticalOffset;

            for (int index = 0; index < 30; index++)
            {
                Scroller.LineUp();
            }

            if (Scroller.VerticalOffset < 500)
            {
                UpArrow.Visibility = Visibility.Hidden;
            }


            DownArrow.Visibility = Visibility.Visible;
        }
コード例 #17
0
    void Start()
    {
        _moduleId = _moduleIdCounter++;

        for (int i = 0; i < 4; i++)
        {
            int j = i;
            DirectionalButtons [i].OnInteract += delegate() {
                HandleDirectionalButton(j); return(false);
            };
        }
        for (int i = 0; i < 2; i++)
        {
            int j = i;
            RotationalButtons [i].OnInteract += delegate() {
                HandleRotationalButton(j); return(false);
            };
        }
        for (int i = 0; i < 2; i++)
        {
            int j = i;
            ScrollerButtons [i].OnInteract += delegate() {
                HandleScrollerButton(j); return(false);
            };
        }
        ButtonVerifySolution.OnInteract += HandleVerifySolution;

        int solution_index = Rnd.Range(0, solutionNames.Count);

        solutionState = solutionStates[solution_index];
        solutionName  = solutionNames[solution_index];

        scroller     = new Scroller(solutionNames, ScrollerText);
        displayboard = new Board_6x6(solutionState);

        UpdateGrid(displayboard.getBoardState());
        FocusBox.transform.localPosition = displayboard.getFocusBoxCoords();

        Debug.LogFormat("[Grid Matching #{0}] Seed Grid: {1} Seed Label: {2}", _moduleId, solutionStates[solution_index], solutionName);
        Board_6x6.printBoard(solutionStates[solution_index]);
        Debug.LogFormat("[Grid Matching #{0}] Solution Grid: {1}  Solution Label: {2}", _moduleId, displayboard.getSolutionState(), solutionName);
        Board_6x6.printBoard(displayboard.getSolutionState());
        Debug.LogFormat("[Grid Matching #{0}] Current Grid: {1} Current Label: {2}", _moduleId, displayboard.getBoardState(), scroller.getState());
        Board_6x6.printBoard(displayboard.getBoardState());
    }
コード例 #18
0
ファイル: Scroller.cs プロジェクト: OkelyKodely/Renegade
    public static void Main(String[] args)
    {
        Form splashForm = new Form();

        splashForm.SetBounds(0, 0, 400, 400);

        splashForm.ControlBox  = false;
        splashForm.MaximizeBox = false;
        splashForm.MinimizeBox = false;
        splashForm.ShowIcon    = false;

        splashForm.StartPosition   = FormStartPosition.CenterScreen;
        splashForm.FormBorderStyle = FormBorderStyle.None;

        splashForm.MinimumSize = new Size(400, 400);
        splashForm.MaximumSize = new Size(400, 400);

        Panel splashPanel = new Panel();

        splashPanel.SetBounds(0, 0, 400, 400);
        splashPanel.BackColor = Color.Transparent;

        Size size = new Size(400, 400);

        splashPanel.BackgroundImage = Image.FromFile("splash.jpg");

        Bitmap bmp = new Bitmap(splashPanel.BackgroundImage, size);

        splashPanel.BackgroundImage = bmp;

        splashForm.Controls.Add(splashPanel);

        splashForm.Show();

        new System.Threading.ManualResetEvent(false).WaitOne(1250);

        splashForm.Close();


        Scroller s = new Scroller();

        s.form.Show();
        s.Play();
        Application.Run(s.form);
    }
コード例 #19
0
        void InitializeComponent()
        {
            _mainLayout = new Box(XForms.NativeParent)
            {
                AlignmentX = -1,
                AlignmentY = -1,
                WeightX    = 1,
                WeightY    = 1,
            };
            _mainLayout.Show();
            _mainLayout.SetLayoutCallback(OnLayout);

            _indexIndicator = new Index(_mainLayout)
            {
                IsHorizontal = true,
                AutoHide     = false,
                Style        = IndexStyle.Circle,
            };
            _indexIndicator.Show();

            _scroller = new Scroller(_mainLayout);
            _scroller.PageScrolled += OnPageScrolled;
            _scroller.DragStart    += OnDragStarted;

            // Disables the visibility of the scrollbar in both directions:
            _scroller.HorizontalScrollBarVisiblePolicy = ScrollBarVisiblePolicy.Invisible;
            _scroller.VerticalScrollBarVisiblePolicy   = ScrollBarVisiblePolicy.Invisible;
            // Sets the limit of scroll to one page maximum:
            _scroller.HorizontalPageScrollLimit = 1;
            _scroller.SetPageSize(1.0, 1.0);
            _scroller.SetAlignment(-1, -1);
            _scroller.SetWeight(1.0, 1.0);
            _scroller.Show();

            _innerContainer = new Box(_mainLayout);
            _innerContainer.SetLayoutCallback(OnInnerLayoutUpdate);
            _innerContainer.SetAlignment(-1, -1);
            _innerContainer.SetWeight(1.0, 1.0);
            _innerContainer.Show();
            _scroller.SetContent(_innerContainer);

            _mainLayout.PackEnd(_indexIndicator);
            _mainLayout.PackEnd(_scroller);
            _indexIndicator.StackAbove(_scroller);
        }
コード例 #20
0
        public MonthView(Context context, IAttributeSet attrs) : base(context, attrs)
        {
            density    = Resources.DisplayMetrics.Density;                   // getResources().getDisplayMetrics().density;
            mScroller  = new Scroller(context);
            mTouchSlop = ViewConfiguration.Get(context).ScaledDoubleTapSlop; //.GetScaledTouchSlop();
            Calendar calendar = Calendar.Instance;                           //.GetInstance();

            currYear  = calendar.Get(Calendar.Year);
            currMonth = calendar.Get(Calendar.Month);
            currDay   = calendar.Get(Calendar.Date);
            paint     = new Paint(PaintFlags.AntiAlias);
            SetSelectDate(currYear, currMonth, currDay);
            SetLeftDate();
            SetRightDate();
            //createTheme();
            baseRowSize = rowSize = 70; // theme == null ? 70 : theme.dateHeight();
            smoothMode  = 0;            // theme == null ? 0 : theme.smoothMode();
        }
コード例 #21
0
        public void AddMessage(string value)
        {
            // Recognize
            Item newItem = MyInterpreter.Parse(value, State);

            // Save
            MainDB.Add(newItem);

            // Execute
            MyRunner.Do(newItem);

            // Add to UI
            ItemContainer container = new ItemContainer(newItem);

            StackChat.Children.Add(container);

            Scroller.ScrollToBottom();
        }
コード例 #22
0
        private void Keys(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Escape ||
                e.Key == Key.Q && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control || e.Key == Key.F1)
            {
                Close();
            }

            else if (e.Key == Key.S || e.Key == Key.Down)
            {
                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset + 10);
            }

            else if (e.Key == Key.W || e.Key == Key.Up)
            {
                Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset - 10);
            }
        }
コード例 #23
0
        private void CreateSquares(View box)
        {
            Random rand = new Random();

            for (int i = 0; i <= 60; ++i)
            {
                float r = (float)rand.NextDouble();
                float g = (float)rand.NextDouble();
                float b = (float)rand.NextDouble();
                View  t = new View
                {
                    Size2D          = new Size2D(200, 1000),
                    BackgroundColor = new Color(r, g, b, 255),
                };
                box.Add(t);
            }
            Scroller.Add(box);
        }
コード例 #24
0
        private void OnButtonScrollClicked(object sender, ClickedEventArgs args)
        {
            if (MeasurementStarted == true)
            {
                return;
            }

            MeasurementStarted = true;

            Scroller.ScrollToIndex(999);

            FPSCounter.Reset();
            AppWindow.RemoveFrameUpdateCallback(FPSCounter);
            AppWindow.AddFrameUpdateCallback(FPSCounter);

            FPSLabel.Text = "Measuring scrolling FPS...";
            Scroller.ScrollAnimationEnded += OnScrollAnimaionEnded;
        }
コード例 #25
0
        protected override void OnAttachedToWindow()
        {
            base.OnAttachedToWindow();

            Log.Info("Life", "OnAttachedToWindow");
            density          = Resources.DisplayMetrics.Density;
            mDisplayMetrics  = Resources.DisplayMetrics; //.getDisplayMetrics();
            mPaint           = new Paint(PaintFlags.AntiAlias);
            mCurrYear        = this.Element.Date.Year;   // this.mSelYear;// calendar.Get(CalendarField.Year);//.get(Calendar.YEAR);
            mCurrMonth       = this.Element.Date.Month;  // this.mSelMonth;// calendar.Get(CalendarField.Month);//.get(Calendar.MONTH);
            mCurrDay         = this.Element.Date.Day;    // this.mSelDay;// calendar.Get(CalendarField.Date);//.get(Calendar.DATE);
            daysHasThingList = this.Element.Thing;
            mScroller        = new Scroller(this.Context);
            mTouchSlop       = ViewConfiguration.Get(this.Context).ScaledTouchSlop;//.GetScaledTouchSlop();
            smoothMode       = 0;
            baseRowSize      = rowSize = 70;
            SetSelectYearMonth(mCurrYear, mCurrMonth, mCurrDay);
        }
コード例 #26
0
        void makeUI()
        {
            try
            {
                Conformant conformant = new Conformant(Window);
                conformant.Show();
                Scroller scroller = new Scroller(Window)
                {
                    AlignmentX  = -1,
                    AlignmentY  = -1,
                    WeightX     = 1,
                    WeightY     = 1,
                    ScrollBlock = ScrollBlock.None,
                };
                scroller.Show();

                Box box = new Box(Window)
                {
                    AlignmentX = -1,
                    AlignmentY = -1,
                    WeightX    = 1,
                    WeightY    = 1,
                };
                box.Show();
                scroller.SetContent(box);
                conformant.SetContent(scroller);

                Button btn = new Button(Window)
                {
                    Text       = "Get Data",
                    AlignmentX = -1,
                    AlignmentY = -1,
                    WeightX    = 1,
                    WeightY    = 1
                };
                btn.Clicked += Btn_Clicked;
                box.PackEnd(btn);
                btn.Show();
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception : " + e.Message);
            }
        }
コード例 #27
0
        public void Scroller_DrawSingleResponse_ScrollsDisplay()
        {
            var scroller = new Scroller(new List <Response> {
                new Response("iFirst Display\tSelector Text\tDomain Info\t71"), new Response("iSecond Display\tSelector Text\tDomain Info\t71")
            }, 40, 1);
            var console = Substitute.For <IConsole>();

            scroller.ReadKey(new ConsoleKeyInfo('0', ConsoleKey.DownArrow, false, false, false));
            scroller.Draw(console);

            Assert.AreEqual(1, scroller.Line);

            // Display second 1 line
            console.Received(0).WriteLine(Arg.Is <string>(x => x == "  First Display                         "));
            console.Received(1).WriteLine(Arg.Is <string>(x => x == "  Second Display                        "));

            // no blanking required
            console.Received(0).WriteLine();
        }
コード例 #28
0
        public BaseReadView(Context context, string bookId, List <BookMixAToc.MixToc.Chapters> chaptersList,
                            IOnReadStateChangeListener listener) : base(context)
        {
            this.listener = listener;
            this.bookId   = bookId;

            mScreenWidth  = ScreenUtils.getScreenWidth();
            mScreenHeight = ScreenUtils.getScreenHeight();

            mCurPageBitmap     = Bitmap.CreateBitmap(mScreenWidth, mScreenHeight, Bitmap.Config.Argb8888);
            mNextPageBitmap    = Bitmap.CreateBitmap(mScreenWidth, mScreenHeight, Bitmap.Config.Argb8888);
            mCurrentPageCanvas = new Canvas(mCurPageBitmap);
            mNextPageCanvas    = new Canvas(mNextPageBitmap);

            mScroller = new Scroller(Context);

            pagefactory = new PageFactory(Context, bookId, chaptersList);
            pagefactory.setOnReadStateChangeListener(listener);
        }
コード例 #29
0
ファイル: MainWindow.xaml.cs プロジェクト: roma160/TextWriter
 private void Scroller_MouseWheel(object sender, MouseWheelEventArgs e)
 {
     if (Keyboard.IsKeyDown(Key.LeftShift))
     {
         Scroller.ScrollToHorizontalOffset(Scroller.HorizontalOffset - e.Delta);
         e.Handled = true;
     }
     else if (Keyboard.IsKeyDown(Key.LeftCtrl))
     {
         double k = Math.Pow(2, (double)e.Delta / scaleFactor);
         PreviewScale.ScaleX *= k;
         PreviewScale.ScaleY *= k;
         if (selectedSampleIndex != -1 && selectedCharIndex != -1)
         {
             showControls(Characters[selectedCharIndex].Samples[selectedSampleIndex]);
         }
         e.Handled = true;
     }
 }
コード例 #30
0
ファイル: ScheduleView.xaml.cs プロジェクト: mobidian/MyCon
 void Timer_Tick(object sender, EventArgs e)
 {
     if (_position.X < ScrollEdge)
     {
         Scroller.ScrollToHorizontalOffset(Scroller.HorizontalOffset - ScrollBy);
     }
     else if (_position.X > Scroller.ViewportWidth - ScrollEdge)
     {
         Scroller.ScrollToHorizontalOffset(Scroller.HorizontalOffset + ScrollBy);
     }
     if (_position.Y < ScrollEdge)
     {
         Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset - ScrollBy);
     }
     else if (_position.Y > Scroller.ViewportHeight - ScrollEdge)
     {
         Scroller.ScrollToVerticalOffset(Scroller.VerticalOffset + ScrollBy);
     }
 }
コード例 #31
0
        public void Init(IItemsProvider itemsProvider, IWidgetsProvider widgetsProvider)
        {
            _itemsProvider   = itemsProvider;
            _itemsViewport   = new ItemsViewport(itemsProvider);
            _widgetsViewport = new WidgetsViewport(_contentNode, widgetsProvider, _alignment, _spacing);
            Axis axis = AxisMaskDesc.WidgetsAlignmentAxis[_alignment];

            _scroller = GetComponent <Scroller>();
            _scroller.Init(_viewportNode, axis, _speedCoef, _inertiaCoef, _elasticityCoef);
            _scroller.onScroll += OnScroll;

            _scrollNavigation = GetComponent <ScrollNavigation>();
            _scrollNavigation.Init(_itemsViewport, _widgetsViewport, axis, InitialRefreshViewport);
            _scrollNavigation.onScroll         += OnScrollNavigation;
            _scrollNavigation.onScrollStarted  += OnScrollNavigationStarted;
            _scrollNavigation.onScrollFinished += OnScrollNavigationFinished;

            InitialRefreshViewport();
        }
コード例 #32
0
        void InitCustomViewAbove()
        {
            SetWillNotDraw(false);
            DescendantFocusability = DescendantFocusability.AfterDescendants;
            Focusable = true;
            Context context = Context;

            mScroller = new Scroller(context, sInterpolator);
            ViewConfiguration configuration = ViewConfiguration.Get(context);

            mTouchSlop       = ViewConfigurationCompat.GetScaledPagingTouchSlop(configuration);
            mMinimumVelocity = configuration.ScaledMinimumFlingVelocity;
            mMaximumVelocity = configuration.ScaledMaximumFlingVelocity;
            SetInternalPageChangeListener(new MySimpleOnPageChangeListener(this));

            float density = context.Resources.DisplayMetrics.Density;

            mFlingDistance = (int)(MIN_DISTANCE_FOR_FLING * density);
        }
コード例 #33
0
ファイル: Page2.xaml.cs プロジェクト: KikuGuroBin/App20
        protected override void OnSizeAllocated(double width, double height)
        {
            base.OnSizeAllocated(width, height);

            System.Diagnostics.Debug.WriteLine("deg : onSizeAllocated " + width + ", " + height);

            /*
             * SideBounds = new ViewBounds
             * {
             *  X = width
             * };
             *
             * Side.BindingContext = SideBounds;
             */

            Side2.LayoutTo(new Rectangle(Width, 0, 300, 100), 300);
            Side.LayoutTo(new Rectangle(Width, 0, 300, 100), 300);
            Scroller.LayoutTo(new Rectangle(80, 0, 200, 100));
        }
コード例 #34
0
        public ScrollViewTest1Page()
        {
            InitializeComponent();

            for (int i = 0; i <= 60; ++i)
            {
                var t = new TextLabel
                {
                    Text   = String.Format("I am label #{0}", i),
                    Size2D = new Size2D(720, 70)
                };
                Scroller.Add(t);
            }

            btn.Clicked += (o, e) =>
            {
                Scroller.ScrollTo(500, true);
            };
        }
コード例 #35
0
ファイル: ResizableDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button btnAddRect = new Button
        {
            Text = "New button",
            Icon = ImageLoader.Instance.Load("Icons/shape_square_add"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnAddRect.Click += delegate { AddButton(); };
        toolbar.AddContentChild(btnAddRect);

        Button btnAddText = new Button
        {
            Text = "New text",
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnAddText.Click += delegate { AddTextField(); };
        toolbar.AddContentChild(btnAddText);

        Button btnClear = new Button
        {
            Text = "Clear",
            Icon = ImageLoader.Instance.Load("Icons/cancel"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnClear.Click += delegate
        {
            _viewport.RemoveAllChildren();
            _count = 1;
        };
        toolbar.AddContentChild(btnClear);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            PercentWidth = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        _viewport = new Group
        {
            MouseEnabled = true,
            Layout = new AbsoluteLayout()
        };
        scroller.Viewport = _viewport;

        #endregion

        #region Default controls

        var button = new Button
        {
            X = 200,
            Y = 200,
            Width = 300,
            Height = 200,
            MinWidth = 200,
            MinHeight = 200,
            FocusEnabled = false,
            Text = "Resize me!",
            Tooltip = "Resizable Button"
        };
        button.Plugins.Add(new Resizable()/* { ShowOverlay = false }*/);
        _viewport.AddChild(button);

        var textArea = new TextArea
        {
            X = 600,
            Y = 400,
            Width = 300,
            Height = 200,
            MinWidth = 100,
            MinHeight = 100,
            Text = LoremIpsum,
            Tooltip = "Resizable TextArea",
            Optimized = true
        };
        textArea.Plugins.Add(new Resizable()/* { ShowOverlay = false }*/);
        _viewport.AddChild(textArea);

        #endregion
    }
コード例 #36
0
ファイル: ScrollbarDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        TitleLabel titleLabel = new TitleLabel
        {
            Text = "Scrollbar Demo",
            StyleName = "title",
            Right = 20,
            Top = 20
        };
        AddChild(titleLabel);

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        #region Vertical scrollbars

        HGroup hGroup = new HGroup {Gap = 10, Id = "hbox2", PercentHeight = 100};
        viewport.AddChild(hGroup);

        VScrollBar s = new VScrollBar {PercentHeight = 100, Maximum = 300};
        s.Change += delegate(Event e)
        {
            Debug.Log("Change: " + e);
        };
        hGroup.AddChild(s);

        s = new VScrollBar {PercentHeight = 100, Maximum = 400, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin2), PercentHeight = 100, Maximum = 1000, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin2), Height = 400, Maximum = 400, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin3), PercentHeight = 100, Maximum = 200, PageSize = 100};
        hGroup.AddChild(s);

        s = new VScrollBar {SkinClass = typeof (VScrollBarSkin3), Height = 400, Maximum = 300, PageSize = 100};
        hGroup.AddChild(s);

        #endregion

        #region Horizontal scrollbars

        Label label = new Label {Text = "Will change the skin on drag: "};
        viewport.AddChild(label);

        HScrollBar scrollBar1 = new HScrollBar {Width = 300, Maximum = 300, PageSize = 100};
        scrollBar1.Change += delegate(Event e)
        {
            scrollBar1.SkinClass = typeof (HScrollBarSkin3);
        };
        viewport.AddChild(scrollBar1);

        label = new Label {Text = "Will change the skin on drag: "};
        viewport.AddChild(label);

        _scrollbar2 = new HScrollBar {PercentWidth = 100, Maximum = 500, Value = 200, PageSize = 100};
        _scrollbar2.Change += delegate(Event e)
        {
            _scrollbar2.SkinClass = typeof (HScrollBarSkin3);
        };
        viewport.AddChild(_scrollbar2);

        HScrollBar scrollbar3 = new HScrollBar
        {
            SkinClass = typeof (HScrollBarSkin2),
            MinWidth = 600,
            Maximum = 1000,
            PageSize = 100
        };
        viewport.AddChild(scrollbar3);

        HScrollBar scrollbar4 = new HScrollBar
        {
            SkinClass = typeof (HScrollBarSkin3),
            MinWidth = 700,
            Maximum = 300,
            PageSize = 100
        };
        viewport.AddChild(scrollbar4);

        HScrollBar scrollbar5 = new HScrollBar
        {
            PercentWidth = 100,
            MinWidth = 600,
            SkinClass = typeof (HScrollBarSkin3),
            Maximum = 1000,
            PageSize = 100
        };
        viewport.AddChild(scrollbar5);

        #endregion

    }
コード例 #37
0
ファイル: Default.cs プロジェクト: groov0v/edriven-gui
    /// <summary>
    /// Use this override for creating children
    /// </summary>
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Toolbar

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        _btnDummy = new Button
        {
            Text = "Click me",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/add"),
            FocusEnabled = false,
            AutoRepeat = true
        };
        _btnDummy.Click += delegate { AddButton(); };
        toolbar.AddContentChild(_btnDummy);

        Button btnClear = new Button
        {
            Text = "Clear",
            Icon = Resources.Load<Texture>("Icons/cancel"),
            SkinClass = typeof(ImageButtonSkin),
            FocusEnabled = false
        };
        btnClear.Click += delegate
        {
            _viewport.RemoveAllChildren();
        };
        toolbar.AddContentChild(btnClear);

        toolbar.AddContentChild(new Spacer {PercentWidth = 100});
        toolbar.AddContentChild(new Label { Text = "eDriven.Gui"});

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            PercentWidth = 100, PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        _viewport = new Group
        {
            // viewport also has vertical layout
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Center,
                VerticalAlign = VerticalAlign.Middle,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = _viewport;

        #endregion
    }
コード例 #38
0
ファイル: NavigatorDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button button = new Button
        {
            Text = "Add data",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/add"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text = "Previous tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/previous")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex--;
            _viewstack.Previous();
        };
        toolbar.AddContentChild(button);

        button = new Button
        {
            Text = "Next tab",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/next")
        };
        button.Click += delegate
        {
            _buttonBar.SelectedIndex++;
            _viewstack.Next();
        };
        toolbar.AddContentChild(button);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            PercentWidth = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        List<object> source = new List<object> { "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six" };

        _dataProvider = new ArrayList(source);

        viewport.AddChild(new Label {Text = "ButtonBar:"});

        #region Button bar

        _buttonBar = new ButtonBar
        {
            DataProvider = new ArrayList(new List<object> {"List 1", "List 2", "List 3", "List 4", "List 5"}),
            SkinClass = typeof(ButtonBarSkin2),
            RequireSelection = true
        };
        _buttonBar.AddEventListener(Event.CHANGE, delegate(Event e)
        {
            IndexChangeEvent ice = e as IndexChangeEvent;
            if (null != ice)
            {
                int newIndex = ice.NewIndex;
                //Debug.Log("Changed to: " + newIndex);
                _viewstack.SelectedIndex = newIndex;
            }
        });
        viewport.AddChild(_buttonBar);

        #endregion
        
        #region ViewStack

        viewport.AddChild(new Label { Text = "ViewStack (having 5 lists as children):" });

        _viewstack = new ViewStack { ResizeToContent = true };
        viewport.AddChild(_viewstack);

        #endregion

        /* Factory is used for creating renderer instances */
        var factory = new ItemRendererFactory<DefaultItemRenderer>();

        /* LISTS */

        #region List 1

        List list = new List
                        {
                            Id = "list1",
                            //Layout = new TileLayout { RequestedColumnCount = 4 },
                            Width = 200, Height = 200,
                            DataProvider = _dataProvider,
                            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                            
                            /* ItemRendererFunction is used for switching between different factories, based on the supplied item */
                            ItemRendererFunction = delegate { return factory; }
                        };
        _viewstack.AddChild(list);

        #endregion

        #region List 2

        list = new List
                    {
                        Id = "list2",
                        //Layout = new TileLayout { RequestedColumnCount = 3 },
                        Width = 200, Height = 245,
                        DataProvider = _dataProvider,
                        //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                        ItemRendererFunction = delegate { return factory; }
                    };
        _viewstack.AddChild(list);

        #endregion

        #region List 3

        list = new List
                    {
                        Id = "list3",
                        Width = 400,
                        Height = 450,
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        _viewstack.AddChild(list);

        #endregion

        #region List 4

        list = new List
                    {
                        Id = "list4",
                        Width = 600, Height = 800,
                        Layout = new TileLayout { HorizontalGap = 0, VerticalGap = 0, RequestedRowCount = 4, RequestedColumnCount = 3 },
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        _viewstack.AddChild(list);

        #endregion

        #region List 5 (horizontal)

        list = new List
                    {
                        Id = "list5",
                        Width = 800,
                        Height = 100,
                        Layout = new HorizontalLayout { Gap = 0, RequestedColumnCount = 3 },
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        _viewstack.AddChild(list);

        #endregion

        #region Process renderer click

        AddEventListener(BigItemRenderer.ADD_BUTTON_CLICKED, delegate(Event e)
        {
            IItemRenderer itemRenderer = (IItemRenderer)e.Target;
            Alert.Show("Info", itemRenderer.Data.ToString(), AlertButtonFlag.Ok,
                new AlertOption(AlertOptionType.HeaderIcon, ImageLoader.Instance.Load("Icons/information")));
        });

        #endregion
    }
コード例 #39
0
ファイル: Scroller.cs プロジェクト: keijiro/unity-undulation
 void Awake()
 {
     instance = this;
 }
コード例 #40
0
ファイル: FormDemo2.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Top label

        Label label = new TitleLabel { HorizontalCenter = 0, Top = 20, StyleName = "title" };
        AddChild(label);

        new TextRotator
        {
            Delay = 5, // 5 seconds delay
            Lines = new[]
            {
                "Form Demo 2",
                "Created with eDriven.Gui"/*,
                "Author: Danko Kozar"*/
            },
            Callback = delegate(string line) { label.Text = line; }
        }
        .Start();

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 100,
            Bottom = 0
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Center,
                VerticalAlign = VerticalAlign.Middle,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 0,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        Panel panel = new Panel
        {
            Title = "Form Demo 2",
            Icon = Resources.Load<Texture>("Icons/star"),
            SkinClass = typeof(PanelSkin2),
            MaxHeight = 800,
            //Height = 600 // for getting a scrollbar
        };
        viewport.AddChild(panel);

        Group container = new Group { Left = 10, Right = 10, Top = 10, Bottom = 10 };
        panel.AddContentChild(container);

        Form form = new Form {PercentWidth = 100};
        container.AddContentChild(form);

        #region Form items

        List list = new List
        {
            PercentWidth = 100,
            RequireSelection = true,
            SelectedItem = "Sine",
            DataProvider = new ArrayList(new List<object>
                                               {
                                                   new ListItem("Back", "Back"),
                                                   new ListItem("Bounce", "Bounce"),
                                                   new ListItem("Circ", "Circ"),
                                                   new ListItem("Cubic", "Cubic"),
                                                   new ListItem("Elastic", "Elastic"),
                                                   new ListItem("Expo", "Expo"),
                                                   new ListItem("Linear", "Linear"),
                                                   new ListItem("Quad", "Quad"),
                                                   new ListItem("Quart", "Quart"),
                                                   new ListItem("Quint", "Quint"),
                                                   new ListItem("Sine", "Sine")
                                               })
        };
        form.AddField("list", "List:", list);

        DropDownList dropDown = new DropDownList
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
            {
                "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six"
            })
        };
        form.AddField("dd", "Drop down list:", dropDown);

        #region _test

//cb.Opening += delegate (Event evt)
        //                  {
        //                      Debug.Log("Opening");
        //                      //evt.PreventDefault();
        //                  };
        //cb.Closing += delegate(Event evt) { 
        //    Debug.Log("Closing");
        //    //evt.PreventDefault();
        //};
        //cb.Open += delegate { Debug.Log("Open"); };
        //cb.Close += delegate { Debug.Log("Close"); };

        //cb.AddEventListener(IndexChangeEvent.CHANGE, delegate (Event e)
        //                                     {
        //                                         IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                         Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                     });
        //cb.SelectedIndexChanged += delegate(Event e)
        //                                    {
        //                                        IndexChangeEvent ice = (IndexChangeEvent)e;
        //                                        Debug.Log("Index changed from " + ice.OldIndex + " to " + ice.Index);
        //                                    };

        #endregion

        ComboBox cb1 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
                                                 {
                                                     new ListItem("Failure", "Failure"),
                                                     new ListItem("Teaches", "Teaches"),
                                                     new ListItem("Success", "Success")
                                                 })
        };
        form.AddField("combo1", "Combo 1:", cb1);

        ComboBox cb2 = new ComboBox
        {
            PercentWidth = 100,
            DataProvider = new ArrayList(new List<object>
                                                 {
                                                     new ListItem("Back", "Back"),
                                                     new ListItem("Bounce", "Bounce"),
                                                     new ListItem("Circ", "Circ"),
                                                     new ListItem("Cubic", "Cubic"),
                                                     new ListItem("Elastic", "Elastic"),
                                                     new ListItem("Expo", "Expo"),
                                                     new ListItem("Linear", "Linear"),
                                                     new ListItem("Quad", "Quad"),
                                                     new ListItem("Quart", "Quart"),
                                                     new ListItem("Quint", "Quint"),
                                                     new ListItem("Sine", "Sine")
                                                 })
        };
        form.AddField("combo2", "Combo 2:", cb2);

        TextField txtSubject = new TextField
                                   {
                                       FocusEnabled = true,
                                       PercentWidth = 100,
                                       Optimized = true,
                                       //PasswordMode = true // test password mode
                                   };
        form.AddField("subject", "Subject:", txtSubject);

        CheckBox chk1 = new CheckBox { Text = "Checkbox 1" };
        chk1.Change += delegate
        {
            form.ToggleItem("checkbox2");
        };
        form.AddField("checkbox", "Checkbox:", chk1);

        CheckBox chk2 = new CheckBox { Text = "Checkbox 2" };
        chk2.Change += delegate
        {
            form.ToggleItem("checkbox3");
        };
        form.AddField("checkbox2", "Checkbox:", chk2);
        form.ToggleItem("checkbox2", false);

        CheckBox chk3 = new CheckBox { Text = "Checkbox 3 with long text......." };
        form.AddField("checkbox3", "Checkbox:", chk3);
        form.ToggleItem("checkbox3", false);

        #endregion

        #region Buttons

        Button btnSet = new Button
                            {
                                Text = "Set data (true/Expo/Expo)",
                                Icon = ImageLoader.Instance.Load("Icons/arrow_up"),
                                SkinClass = typeof(ImageButtonSkin)
                            };
        btnSet.Press += delegate
                            {
                                form.Data = new Hashtable
                                                {
                                                    {"subject", "The subject"},
                                                    //{"message", "This is the message..."}
                                                    {"checkbox", true},
                                                    {"combo1", "Expo"},
                                                    {"list", "Expo"}
                                                };
                            };
        panel.ControlBarGroup.AddChild(btnSet);
        
        Button btnSet2 = new Button
        {
            Text = "Set data (false/Circ/Sine)",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/arrow_up")
        };
        btnSet2.Press += delegate
        {
            form.Data = new Hashtable
                                                {
                                                    {"subject", "The subject 2"},
                                                    //{"message", "This is the message..."}
                                                    {"checkbox", false},
                                                    {"combo1", "Circ"},
                                                    {"list", "Sine"}
                                                };
        };
        panel.ControlBarGroup.AddChild(btnSet2);
        
        panel.ControlBarGroup.AddChild(new Spacer {PercentWidth = 100});

        Button btnGet = new Button
                            {
                                Text = "Get data",
                                SkinClass = typeof(ImageButtonSkin),
                                Icon = ImageLoader.Instance.Load("Icons/arrow_down")
                            };
        btnGet.Press += delegate
                            {
                                StringBuilder sb = new StringBuilder();
                                int count = form.Data.Count;
                                int index = 0;
                                foreach (DictionaryEntry entry in form.Data)
                                {
                                    if (index < count - 1)
                                        sb.AppendLine(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                                    else
                                        sb.Append(string.Format(@"[{0}]: {1}", entry.Key, entry.Value));
                                    //sb.AppendLine();
                                    index++;
                                }

                                Alert.Show("This is the form data", sb.ToString(), AlertButtonFlag.Ok,
                                    new AlertOption(AlertOptionType.HeaderIcon, Resources.Load<Texture>("Icons/information")));
                            };
        panel.ControlBarGroup.AddChild(btnGet);

        #endregion

        // focus
        list.SetFocus();

        panel.Plugins.Add(new TabManager
        {
            TabChildren = new List<DisplayListMember> { list, dropDown, cb1, cb2, txtSubject, chk1, chk2, chk3, btnSet, btnGet }
        });
    }
コード例 #41
0
 public ScrollerTextureButton(Sprite sprite, Vector2 position, Scroller scroller, GenericEvent clickFunction)
     : base(sprite, position, clickFunction)
 {
     _realVerticalPosition = position.Y;
     _scroller = scroller;
 }
コード例 #42
0
        void InitCustomViewAbove()
        {
            if (Android.OS.Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb)
                _interpolator = new CVAInterpolator();

            TouchMode = TouchMode.Margin;
            SetWillNotDraw(false);
            DescendantFocusability = DescendantFocusability.AfterDescendants;
            Focusable = true;
            _scroller = new Scroller(Context, _interpolator);
            var configuration = ViewConfiguration.Get(Context);
            _touchSlop = ViewConfigurationCompat.GetScaledPagingTouchSlop(configuration);
            _minimumVelocity = configuration.ScaledMinimumFlingVelocity;
            MaximumVelocity = configuration.ScaledMaximumFlingVelocity;

            var density = Context.Resources.DisplayMetrics.Density;
            _flingDistance = (int) (MinDistanceForFling*density);

            PageSelected += (sender, args) =>
                {
                    if (_viewBehind == null) return;
                    switch (args.Position)
                    {
                        case 0:
                        case 2:
                            _viewBehind.ChildrenEnabled = true;
                            break;
                        case 1:
                            _viewBehind.ChildrenEnabled = false;
                            break;
                    }
                };
        }
コード例 #43
0
 public ScrollerButton(string text, Vector2 position, Scroller scroller, GenericEvent clickFunction)
     : base(text, position, clickFunction)
 {
     _realVerticalPosition = position.Y;
     _scroller = scroller;
 }
コード例 #44
0
ファイル: SlidingView.cs プロジェクト: Yi-shion/Xamarin
 private void Init()
 {
     mContainer = new FrameLayout(Context);
     //mContainer.SetBackgroundColor(0xff000000);
     mScroller = new Scroller(Context);
     mTouchSlop = ViewConfiguration.Get(Context).ScaledTouchSlop;
     base.AddView(mContainer);
 }
コード例 #45
0
ファイル: ImageDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Scroller and viewport

        Scroller scroller = new Scroller
                                {
                                    SkinClass = typeof(ScrollerSkin2),
                                    Left = 0,
                                    Right = 0,
                                    Top = 0,
                                    Bottom = 0,
                                };
        AddChild(scroller);

        Group viewport = new Group
                                {
                                    Id = "viewport",
                                    Layout = new AbsoluteLayout()
                                };
        scroller.Viewport = viewport;

        Group g = new Group();
        viewport.AddChild(g);

        var image = new Image
        {
            Mode = ImageMode.Tiled,
            TilingAnchor = Anchor.BottomRight,
            Texture = (Texture)Resources.Load("stripes3"),
            Left = 10,
            Right = 10,
            Top = 10,
            Bottom = 10,
            Tooltip = "Original size"
        };
        g.AddChild(image);

        #endregion

        #region VGroup

        VGroup vGroup = new VGroup
                            {
                                Id = "vGroup",
                                PaddingLeft = 10,
                                PaddingRight = 10,
                                PaddingTop = 10,
                                PaddingBottom = 10,
                                Left = 10,
                                Right = 10,
                                Top = 10,
                                Bottom = 10,
                                Gap = 10
                            };
        g.AddChild(vGroup);

        #endregion

        #region Images

        var hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Texture = (Texture) Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 600,
            Height = 400,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 300,
            Height = 150,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 150,
            Height = 300,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo"),
            ScaleMode = ImageScaleMode.OriginalSize
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Width = 350,
            Height = 200,
            ScaleMode = ImageScaleMode.ScaleToWidth,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 350,
            Height = 200,
            ScaleMode = ImageScaleMode.ScaleToHeight,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 350,
            Height = 200,
            ScaleMode = ImageScaleMode.ScaleToFit,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 350,
            Height = 200,
            ScaleMode = ImageScaleMode.ScaleToFill,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 350,
            Height = 200,
            ScaleMode = ImageScaleMode.StretchToFit,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        image = new Image
        {
            Width = 200,
            Height = 350,
            ScaleMode = ImageScaleMode.ScaleToWidth,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 200,
            Height = 350,
            ScaleMode = ImageScaleMode.ScaleToHeight,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 200,
            Height = 350,
            ScaleMode = ImageScaleMode.ScaleToFit,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 200,
            Height = 350,
            ScaleMode = ImageScaleMode.ScaleToFill,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        image = new Image
        {
            Width = 200,
            Height = 350,
            ScaleMode = ImageScaleMode.StretchToFit,
            Texture = (Texture)Resources.Load("eDriven/Editor/Logo/logo")
        };
        hgroup.AddChild(image);

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        #endregion

        #region Panels

        _panel = new Panel
                        {
                            Title = "Panel 1",
                            MinWidth = 200,
                            MinHeight = 350
                        };
        hgroup.AddChild(_panel);

        _panel = new Panel
                        {
                            SkinClass = typeof(PanelSkin3),
                            Title = "Panel 2",
                            MinWidth = 200,
                            MinHeight = 350
                        };
        hgroup.AddChild(_panel);

        _panel = new Panel
                        {
                            SkinClass = typeof(PanelSkin4),
                            Title = "Panel 3",
                            MinWidth = 200,
                            MinHeight = 350
                        };
        hgroup.AddChild(_panel);

        #endregion

    }
コード例 #46
0
        protected override void WndProc(ref Message m)
        {
            #region Tab Control Notification Messages

            //if (m.Msg == (int)(User32.Msgs.WM_REFLECT | User32.Msgs.WM_NOTIFY))
            //{
            //    if (!DesignMode)
            //    {
            //        User32.NMTCKEYDOWN tcn = (User32.NMTCKEYDOWN)(System.Runtime.InteropServices.Marshal.PtrToStructure(m.LParam, typeof(User32.NMTCKEYDOWN)));
            //        switch (tcn.hdr.code)
            //        {
            //            // TCN_FIRST, handle virtual keys from tcn.wVKey parameters.
            //            case -550:
            //                break;
            //            // TCN_SELCHANGE
            //            case -551:
            //                break;
            //            // TCN_SELCHANGING, process virtual keys in here.
            //            case -552:
            //                break;
            //        }
            //    }
            //}

            #endregion

            base.WndProc(ref m);
            if (m.Msg == (int)User32.Msgs.WM_PARENTNOTIFY)
            {
                if ((ushort)(m.WParam.ToInt32() & 0xFFFF) == (int)User32.Msgs.WM_CREATE)
                {
                    IntPtr handle = FindUpDownControl();
                    if (handle != IntPtr.Zero)
                    {
                        if (_upDown32 != null)
                            _upDown32.ReleaseHandle();

                        _upDown32 = new UpDown32(handle);

                        if (_myScroller != null)
                        {
                            _myScroller.ScrollLeft -= new EventHandler(ScrollLeft);
                            _myScroller.ScrollRight -= new EventHandler(ScrollRight);
                            _myScroller.Dispose();
                            _myScroller = null;
                        }

                        _myScroller = new Scroller(_upDownStyle);
                        _myScroller.ScrollLeft += new EventHandler(ScrollLeft);
                        _myScroller.ScrollRight += new EventHandler(ScrollRight);

                        IntPtr parentHwnd = User32.GetParent(_myScroller.Handle);

                        if (parentHwnd != m.HWnd)
                            User32.SetParent(_myScroller.Handle, m.HWnd);

                        if (this.SelectedIndex == 0)
                            _myScroller._leftScroller.Enabled = false;
                        else if (this.SelectedIndex == this.TabCount - 1)
                            _myScroller._rightScroller.Enabled = false;

                        this.OnResize(EventArgs.Empty);
                    }
                }
            }
            else if (m.Msg == (int)User32.Msgs.WM_LBUTTONDOWN)
            {
                if (this.TabCount > 1)
                {
                    TabPageEx selectingTabPage = OverTab();
                    if (selectingTabPage != null)
                    {
                        int index = TabPages.IndexOf(selectingTabPage);
                        if (index != this.SelectedIndex)
                        {
                            if (!selectingTabPage.Enabled)
                                m.Result = new IntPtr(1);
                            else
                            {
                                using (SelectedIndexChangingEventArgs e = new SelectedIndexChangingEventArgs(selectingTabPage, index))
                                {
                                    // Fire a Notification Event.
                                    OnSelectedIndexChanging(e);

                                    if (e.Cancel)
                                        m.Result = new IntPtr(1);
                                    else
                                    {
                                        selectingTabPage.preventClosing = true;
                                        this.SelectedTab = selectingTabPage;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            else if (m.Msg == (int)User32.Msgs.WM_PAINT)
            {
                if (_upDown32 != null && !this.Multiline)
                {
                    if (this.TabCount > 1)
                    {
                        int width = 0;

                        for (int i = 0; i < this.TabCount; i++)
                            width += GetTabRect(i).Width;

                        if (width <= _myScroller.Left)
                            _myScroller.Visible = false;
                        else
                            _myScroller.Visible = true;
                    }
                    else if (this.TabCount <= 1)
                        _myScroller.Visible = false;
                }
            }
            else if (m.Msg == (int)User32.Msgs.WM_NCHITTEST)
            {
                if (m.Result.ToInt32() == User32._HT_TRANSPARENT)
                    m.Result = (IntPtr)User32._HT_CLIENT;
            }
        }
コード例 #47
0
        void initCustomViewAbove()
        {
            SetWillNotDraw(false);
            //setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
            DescendantFocusability = DescendantFocusability.AfterDescendants;

            Focusable = true;
            Context context = Context;
            mScroller = new Scroller(context, sInterpolator);
            ViewConfiguration configuration = ViewConfiguration.Get(context);
            mTouchSlop = ViewConfigurationCompat.GetScaledPagingTouchSlop(configuration);
            mMinimumVelocity = configuration.ScaledMinimumFlingVelocity;
            mMaximumVelocity = configuration.ScaledMaximumFlingVelocity;
             
            //setInternalPageChangeListener(new SimpleOnPageChangeListener() {
            //    public void onPageSelected(int position) {
            //        if (mViewBehind != null) {
            //            switch (position) {
            //            case 0:
            //            case 2:
            //                mViewBehind.setChildrenEnabled(true);
            //                break;
            //            case 1:
            //                mViewBehind.setChildrenEnabled(false);
            //                break;
            //            }
            //        }
            //    }
            //});
            //setInternalPageChangeListener(new InternalPageChangeListener(mViewBehind));
            float density = context.Resources.DisplayMetrics.Density;
            mFlingDistance = (int)(MIN_DISTANCE_FOR_FLING * density);
        }
コード例 #48
0
 public ScrollerToggleButton(RectangleF area, string toggledText, string notToggledText, Scroller scroller)
     : base(area, toggledText, notToggledText)
 {
     _initialVerticalPosition = area.Y;
     _scroller = scroller;
 }
コード例 #49
0
        /// <summary>
        /// Initializes a new instance of the ExtendedScrollViewer class
        /// </summary>
        public ExtendedScrollViewer()
        {
            _cursor = new CursorUpdator(this);
            _scroller = new Scroller(this);
            _panner = new Panner(this);

            _indicator.Stroke = Brushes.Black;
            _indicator.Fill = Brushes.Black;
            _indicator.Width = INDICATOR_SIZE;
            _indicator.Height = INDICATOR_SIZE;
            _indicator.Measure(new Size(double.PositiveInfinity, double.PositiveInfinity));

            HorizontalScrollBarVisibility = ScrollBarVisibility.Auto;
            VerticalScrollBarVisibility = ScrollBarVisibility.Auto;

            Loaded += ExtendedScrollViewer_Loaded;
        }
コード例 #50
0
ファイル: MainActivity.cs プロジェクト: Yi-shion/Xamarin
 private void Init()
 {
     Log.Verbose(TAG, "init start");
     mScroller = new Scroller(mContext);
     mTouchSlop = ViewConfiguration.Get(Context).ScaledTouchSlop;
 }
コード例 #51
0
ファイル: PanelDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Title

        Label label = new TitleLabel {HorizontalCenter = 0, Top = 20, StyleName = "title", Text = "Panel demo"};
        AddChild(label);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group();
        scroller.Viewport = viewport;

        #endregion

        #region HGroup

        HGroup hGroup = new HGroup {Gap = 10, HorizontalCenter = 0, VerticalCenter = 0};
        viewport.AddChild(hGroup);

        #endregion

        #region Panel 1

        Panel panel = new MyPanel
        {
            Width = 360,
            Height = 600,
            Icon = ImageLoader.Instance.Load("Icons/shape_square_add"),
            Title = "First panel",
            StyleName = "default"
        };
        hGroup.AddChild(panel);

        #endregion
        
        #region Panel 2

        panel = new MyPanel
        {
            //Width = 360,
            Height = 600,
            SkinClass = typeof(PanelSkin2),
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            Title = "Second panel"
        };
        hGroup.AddChild(panel);

        //// NOTE: propagation of styles to skin still not implemented
        //// So, this won't work: panel.SetStyle("headerLabelColor", 0xffff00);
        //// This is a temporary solution:
        //panel.CreationCompleteHandler += delegate
        //{
            //Debug.Log("panel.Skin: " + panel.Skin);
            //panel.Skin.SetStyle("headerLabelColor", Color.yellow);
        //};

        #endregion

        #region Panel 2 skin switch

        VGroup vGroup = new VGroup();
        vGroup.Plugins.Add(new TabManager { ArrowsEnabled = true, UpDownArrowsEnabled = true });
        hGroup.AddChild(vGroup);

        Button button = new Button { Text = "Skin 1", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin);
            //((MyPanel)panel).CreateButtons();
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 2", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin2);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 3", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin3);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Skin 4", Icon = Resources.Load<Texture>("Icons/skin"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        button.Press += delegate
        {
            panel.SkinClass = typeof (PanelSkin4);
        };
        vGroup.AddChild(button);

        button = new Button { Text = "Add button", AutoRepeat = true, Icon = Resources.Load<Texture>("Icons/add"), SkinClass = typeof(ImageButtonSkin), PercentWidth = 100 };
        /*button.Press += delegate
        {
            ((MyPanel)panel).AddButton("Button");
        };*/
        button.ButtonDown += delegate
        {
            ((MyPanel)panel).AddButton("Button");
        };
        vGroup.AddChild(button);

        #endregion
    }
コード例 #52
0
ファイル: ListDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button button = new Button
        {
            Text = "Add data",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/star"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            PercentWidth = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        List<object> source = new List<object> { "Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six" };

        _dataProvider = new ArrayList(source);

        HGroup hGroup = new HGroup { PercentHeight = 100 };
        viewport.AddChild(hGroup);

        var factory = new ItemRendererFactory<DefaultItemRenderer>();

        VGroup vGroup2 = new VGroup { PercentHeight = 100 };
        hGroup.AddChild(vGroup2);

        HGroup hGroup2 = new HGroup
        {
            PercentWidth = 100
        };
        vGroup2.AddChild(hGroup2);

        /* LISTS */

        #region List 1

        List list = new List
                        {
                            Id = "list1",
                            //Layout = new TileLayout { RequestedColumnCount = 4 },
                            Width = 200, Height = 200,
                            DataProvider = _dataProvider,
                            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                            ItemRendererFunction = delegate
                                                        {
                                                            return factory;
                                                        }
                        };
        hGroup2.AddChild(list);

        #endregion

        #region List 2

        list = new List
                    {
                        Id = "list2",
                        //Layout = new TileLayout { RequestedColumnCount = 3 },
                        Width = 200, Height = 245,
                        DataProvider = _dataProvider,
                        //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
                        ItemRendererFunction = delegate
                                                    {
                                                        return factory;
                                                    }
                    };
        hGroup2.AddChild(list);

        #endregion

        #region List 3
            
        list = new List
                    {
                        Id = "list3",
                        Width = 400,
                        Height = 600,
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        hGroup2.AddChild(list);

        #endregion
            
        #region List 4

        list = new List
                    {
                        Id = "list4",
                        PercentHeight = 100,
                        MinWidth = 400,
                        Layout = new TileLayout { HorizontalGap = 0, VerticalGap = 0, RequestedColumnCount = 3 },
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        hGroup.AddChild(list);

        #endregion

        #region List 5 (horizontal)

        vGroup2.AddChild(new Spacer { PercentHeight = 100 });

        list = new List
                    {
                        Id = "list5",
                        PercentWidth = 100,
                        Height = 100,
                        Layout = new HorizontalLayout { Gap = 0, RequestedColumnCount = 3 },
                        DataProvider = _dataProvider,
                        SkinClass = typeof(ListSkin2),
                        ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
                    };
        vGroup2.AddChild(list);

        #endregion

        #region Process renderer click

        AddEventListener(BigItemRenderer.ADD_BUTTON_CLICKED, delegate(Event e)
        {
            BigItemRenderer itemRenderer = (BigItemRenderer) e.Target;
            Alert.Show("Info", itemRenderer.Data.ToString(), AlertButtonFlag.Ok,
                new AlertOption(AlertOptionType.HeaderIcon, ImageLoader.Instance.Load("Icons/information")));
        });

        #endregion
    }
コード例 #53
0
ファイル: DataGroupDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Controls

        Toolbar toolbar = new Toolbar();
        AddChild(toolbar);

        Button button = new Button
        {
            Text = "Add data",
            SkinClass = typeof(ImageButtonSkin),
            Icon = ImageLoader.Instance.Load("Icons/add"),
            AutoRepeat = true
        };
        button.ButtonDown += delegate
        {
            _dataProvider.AddItem("data " + _random.Next(1, 100));
        };
        toolbar.AddContentChild(button);

        #endregion

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            PercentWidth = 100,
            PercentHeight = 100
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            MouseEnabled = true,
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;
        //AddChild(viewport);

        #endregion

        #region Data controls

        List<object> source = new List<object> {"Failure", "Teaches", "Success", "One", "Two", "Three", "Four", "Five", "Six"};

        _dataProvider = new ArrayList(source);

        var factory = new ItemRendererFactory<DefaultItemRenderer>();

        /* LISTS */

        #region HGroup

        HGroup hGroup1 = new HGroup
                    {
                        PaddingLeft = 10,
                        PaddingRight = 10,
                        PaddingTop = 10,
                        PaddingBottom = 10,
                        Gap = 20
                    };

        //hbox.SetStyle("showBackground", true);
        //hbox.SetStyle("backgroundColor", RgbColor.FromHex(0x004CFF).ToColor());
        viewport.AddChild(hGroup1);

        #endregion

        HGroup hGroup = new HGroup();
        viewport.AddChild(hGroup);

        /* DATA GROUPS */

        #region Data group 1

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        DataGroup dataGroup = new DataGroup
        {
            Layout = new VerticalLayout(),
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate(object item)
            {
                return factory;
            }
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 2

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout {RequestedColumnCount = 2},
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #region Data group 3

        hGroup1 = new HGroup
        {
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 50
        };
        hGroup.AddChild(hGroup1);

        dataGroup = new DataGroup
        {
            Layout = new TileLayout { RequestedColumnCount = 4 },
            //Width = 200, Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
            //ClipAndEnableScrolling = true
        };
        hGroup1.AddChild(dataGroup);

        #endregion

        #endregion

        #region VGroup

        VGroup vgroup = new VGroup();
        hGroup.AddChild(vgroup);

        #endregion

        #region List 1

        List list = new List
        {
            //Layout = new TileLayout { RequestedColumnCount = 4 },
            Width = 200,
            Height = 200,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
        };
        vgroup.AddChild(list);

        #endregion

        #region List 2

        list = new List
        {
            //Layout = new TileLayout { RequestedColumnCount = 3 },
            Width = 200,
            Height = 245,
            DataProvider = _dataProvider,
            //ItemRenderer = new ItemRendererFactory <DefaultItemRenderer>(),
            ItemRendererFunction = delegate
            {
                return factory;
            }
        };
        vgroup.AddChild(list);

        #endregion

        #region List 3

        list = new List
        {
            Id = "list3",
            Width = 400,
            Height = 600,
            DataProvider = _dataProvider,
            SkinClass = typeof(ListSkin2),
            ItemRenderer = new ItemRendererFactory<BigItemRenderer>()
        };
        hGroup.AddChild(list);

        #endregion

        #region Process renderer click

        AddEventListener(BigItemRenderer.ADD_BUTTON_CLICKED, delegate(Event e)
        {
            BigItemRenderer itemRenderer = (BigItemRenderer)e.Target;
            Alert.Show("Info", itemRenderer.Data.ToString(), AlertButtonFlag.Ok,
                new AlertOption(AlertOptionType.HeaderIcon, ImageLoader.Instance.Load("Icons/information")));
        });

        #endregion
            
    }
コード例 #54
0
		void Initialize ()
		{
			var bounds = Bounds;

			visibleArea = bounds.ToRectangleF ();

			canvas = new Canvas (bounds.ToRectangleF ()) {
				AutoresizingMask = UIViewAutoresizing.FlexibleDimensions,
			};

			BackgroundColor = Colors.White;

			scrollContent = new Canvas (new RectangleF (PointF.Empty, contentSize)) {
				Opaque = false,
				BackgroundColor = UIColor.Clear.GetColor (),
			};
			scrollContent.TouchBegan += HandleTouchBegan;
			scrollContent.TouchMoved += HandleTouchMoved;
			scrollContent.TouchEnded += HandleTouchEnded;
			scrollContent.TouchCancelled += HandleTouchCancelled;

			scroll = new Scroller (bounds) {
				AutoresizingMask = UIViewAutoresizing.FlexibleDimensions,
				MinimumZoomScale = 1/4.0f,
				MaximumZoomScale = 4.0f,
				AlwaysBounceVertical = true,
				AlwaysBounceHorizontal = true,
				BackgroundColor = UIColor.Clear,
			};

			scroll.AddSubview (scrollContent);
			scroll.ContentSize = contentSize.ToSizeF ();

			TouchEnabled = true;
			TouchDelayed = true;

			scroll.ViewForZoomingInScrollView = delegate {
				return scrollContent;
			};
			scroll.ZoomingEnded += delegate {
			};
			scroll.Scrolled += HandleScrolled;

			AddSubviews (canvas, scroll);

			//
			// Prime the visible area
			//
			HandleScrolled (scroll, EventArgs.Empty);

			//
			// Ready to Draw
			//
			SetVisibleArea ();
			canvas.Drawing += HandleDrawing;
		}
コード例 #55
0
ファイル: SliderDemo.cs プロジェクト: groov0v/edriven-gui
    /*void Awake()
    {
        Debug.Log("CreateChildren");
    }

    void OnEnable()
    {
        Debug.Log("OnEnable");
    }*/

    override protected void CreateChildren()
    {
        base.CreateChildren();

        #region Scroller

        Scroller scroller = new Scroller
        {
            SkinClass = typeof(ScrollerSkin2),
            Left = 0,
            Right = 0,
            Top = 0,
            Bottom = 0,
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group
        {
            Layout = new VerticalLayout
            {
                HorizontalAlign = HorizontalAlign.Left,
                PaddingLeft = 10,
                PaddingRight = 10,
                PaddingTop = 10,
                PaddingBottom = 10,
                Gap = 10
            }
        };
        scroller.Viewport = viewport;

        #endregion

        TitleLabel titleLabel = new TitleLabel
        {
            Text = "Slider Demo",
            StyleName = "title",
            Right = 20,
            Top = 20
        };
        AddChild(titleLabel);

        var labelStyles = new Hashtable
                              {
                                  {"labelStyle", BlueLabelStyle.Instance}
                              };

        AddChild(new Spacer { Height = 20 });

        #region Vertical sliders

        HGroup hbox = new HGroup
        {
            PercentWidth = 100,
            PercentHeight = 100,
            Gap = 10
        };
        viewport.AddChild(hbox);

        WrapVBox(hbox, new Label {Text = "100% slider", Styles = labelStyles},
            new VSlider {PercentHeight = 100})
            .PercentHeight = 100;

        WrapVBox(hbox, new Label {Text = "400px slider", Styles = labelStyles},
            new VSlider { Width = 30, Height = 400, SkinClass = typeof(VSliderSkin2) });

        WrapVBox(hbox, new Label { Text = "400px slider, disabled", Styles = labelStyles },
            new VSlider { Width = 30, Height = 400, SkinClass = typeof (VSliderSkin2), Enabled = false });

        WrapVBox(hbox, new Label {Text = "50x400 slider", Styles = labelStyles},
            new VSlider {Width = 50, Height = 400, SkinClass = typeof (VSliderSkin2)});

        WrapVBox(hbox, new Label { Text = "80x400 slider", Styles = labelStyles },
            new VSlider { Width = 80, Height = 400, SkinClass = typeof(VSliderSkin3) });

        WrapVBox(hbox, new Label { Text = "80x100% slider", Styles = labelStyles },
            new VSlider { Width = 80, PercentHeight = 100, Maximum = 1000, Value = 500, SkinClass = typeof(VSliderSkin3) })
            .PercentHeight = 100;

        #endregion

        #region Horizontal sliders

        WrapHBox(viewport, new Label {Text = "100% slider", Styles = labelStyles},
            new HSlider {Id = "miki", Maximum = 400, PercentWidth = 100})
            .PercentWidth = 100;

        WrapHBox(viewport, new Label { Text = "400px slider", Styles = labelStyles },
            new HSlider { Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2) });

        WrapHBox(viewport, new Label {Text = "400px slider, disabled", Styles = labelStyles},
            new HSlider { Width = 400, Maximum = 400, Height = 30, SkinClass = typeof(HSliderSkin2), Enabled = false });

        WrapHBox(viewport, new Label {Text = "400x50 slider", Styles = labelStyles},
            new HSlider {Width = 400, Maximum = 400, Height = 50, SkinClass = typeof (HSliderSkin2)});

        WrapHBox(viewport, new Label { Text = "80x400 slider", Styles = labelStyles },
            new HSlider { Width = 400, Height = 80, SkinClass = typeof(HSliderSkin3) });

        WrapHBox(viewport, new Label { Text = "80x100% slider", Styles = labelStyles },
            new HSlider { PercentWidth = 100, Maximum = 1000, Value = 500, Height = 80, SkinClass = typeof(HSliderSkin3) })
            .PercentWidth = 100;

        #endregion

        AddChild(new Spacer {Height = 20});
    }
コード例 #56
0
		/**
	     * Initializes various states for this workspace.
	     */
	    private void InitWorkspace() 
		{
	        mScroller = new Scroller(Context);
	        mCurrentScreen = mDefaultScreen;
	
	        var configuration = ViewConfiguration.Get(Context);
	        mTouchSlop = configuration.ScaledTouchSlop;
	        mMaximumVelocity = configuration.ScaledMaximumFlingVelocity;
	
	        mPagingTouchSlop = ReflectionUtils.CallWithDefault<int>(configuration, "ScaledPagingTouchStop", mTouchSlop * 2);
	    }
コード例 #57
0
ファイル: Event.cs プロジェクト: wach78/Turbofest
        public Event(DateTime ClockStart, DateTime ClockEnd, int ClockRunTime, System.Xml.Linq.XDocument XMLEvents, ref CrashHandler Crash)
        {
            ch = Crash;
            events = new Dictionary<string, List<EventItem>>();
            clock = new PartyClock(ClockStart, ClockEnd, ClockRunTime);
            Util.ShowClock = true;
            sound = new Sound(true);
            text = new Text2D();
            chess = new Chess();
            sf = new Starfield(150);

            intro = new Intro(ref sound, ref text);
            outro = new Outro(ref sound);

            advent = new Advent(ref sound);
            birthday = new Birthday(ref sound, ref text, ref chess);
            xmas = new Christmas(ref sound);
            smurf = new Datasmurf(ref sound, ref text); // random
            dif = new Dif(ref chess, ref sound); // random
            fbk = new Fbk(ref sound); // random
            hw = new Halloween(ref chess, ref sound, 25);
            lucia = new Lucia(ref chess, ref sound);
            newyear = new NewYear();
            richard = new RMS(ref sound, ref text); // random
            scroller = new Scroller(ref chess, ref sf, ref text); // random
            semla = new Semla();
            sune = new SuneAnimation(ref sound, ref text);
            tl = new TurboLogo(ref sound, ref chess, (OpenGL.Util.SpringOrFall.Equals("Spring")? true:false)/*((ClockStart.Month >= 1 && ClockStart.Month <= 8)? false:true)*/ ); // vilken termin är det? jan till början av augusti VT, resten HT... random
            valentine = new Valentine(ref sound);
            wl = new WinLinux(ref chess); //random
            creators = new Self(ref sound); // random
            bb = new BB(ref sound); // random
            GM = new GummiBears(ref sound);
            NDay = new National(ref chess, ref sound);
            easter = new Easter(ref sound);
            hajk = new Hajk(ref sound);
            mid = new Midsummer(ref sound);
            vaf = new Vaffla();
            wp = new Walpurgis();
            crayfish = new CrayFish();

            ts = new TeknatStyle(ref chess, ref sound, ref text);
            m = new Matrix(ref text);
            q = new Quiz(ref text, false, ref sound);
            talepsin = new Talespin(ref sound);
            cd = new ChipAndDale(ref sound, ref chess);
            nerd = new Nerdy(ref chess, ref sound);
            trex = new Trex(ref sound);
            sailormoon = new Sailormoon(ref sound,ref chess);
            gb = new GhostBusters(ref sound);
            zelda = new Zelda(ref sound, ref chess);
            tardis = new Tardis(ref sound);
            f**k = new F**k(ref sound, ref chess);

            silverFang = new SilverFang(ref sound);
            mt = new MoraT(ref sound);

            swine = new Swine(ref chess, ref text);
            tjall = new Tjall(ref chess, ref text);

            ronja = new Ronja(ref sound);
            emil = new Emil(ref sound);
            djungelboken = new Djungelboken(ref sound);
            fabbe = new Fabbe(ref sound);
            drink = new Drink(ref sound);
            frozen = new Frozen(ref sound);

            eventCurrent = null; // event item for events to be triggerd in clock_NewDate
            //randomEvent = new List<string>(new string[] { "starfield", "SuneAnimation", "TurboLogo", "Datasmurf", "WinLinux", "Scroller", "BB", "GummiBears", "TeknatStyle", "Matrix"});
            randomEvent = new List<string>(new string[] { "starfield", "Nerdy", "Talespin", "Sailormoon", "GhostBusters", "Zelda", "Tardis", "F**k", "SilverFang", "MoraT" });
            //new stuff
             List<UtilXML.EventData> ed = UtilXML.Loadeffectdata();

            // TODO: Make a clean list with all events allowed to be used implement so that it is actaully usable instead of a switch at the bottom of this file.
            Dictionary<string, Effect> effects = new Dictionary<string, Effect>()
            {
                {"SuneAnimation", new Effect(sune, ed.Find(e => e.Name == "SuneAnimation"))},
                {"Dif",new Effect(dif, ed.Find(e => e.Name == "Dif"))},
                {"Fbk",new Effect(fbk, ed.Find(e => e.Name == "Fbk"))},
                {"TurboLogo",new Effect(tl, ed.Find(e => e.Name == "TurboLogo"))},
                {"Datasmurf", new Effect(smurf, ed.Find(e => e.Name == "Datasmurf"))},
                {"RMS",new Effect(richard, ed.Find(e => e.Name == "RMS"))},
                {"WinLinux",new Effect(wl, ed.Find(e => e.Name == "WinLinux"))},
                {"Scroller",new Effect(scroller, ed.Find(e => e.Name == "Scroller"))},
                {"Self",new Effect(creators, ed.Find(e => e.Name == "Self"))},
                {"BB",new Effect(bb, ed.Find(e => e.Name == "BB"))},
                {"GummiBears",new Effect(GM, ed.Find(e => e.Name == "GummiBears"))},
                {"Hajk",new Effect(hajk, ed.Find(e => e.Name == "Hajk"))},
                {"TeknatStyle",new Effect(ts, ed.Find(e => e.Name == "TeknatStyle"))},
                {"Matrix",new Effect(m, ed.Find(e => e.Name == "Matrix"))},
                {"Quiz",new Effect(q, ed.Find(e => e.Name == "Quiz"))},
                {"Talespin",new Effect(talepsin, ed.Find(e => e.Name == "Talespin"))},
                {"ChipDale",new Effect(cd, ed.Find(e => e.Name == "ChipDale"))},
                {"Nerdy",new Effect(nerd, ed.Find(e => e.Name == "Nerdy"))},
              /*  {"Trex",new Effect(trex, ed.Find(e => e.Name == "Trex"))},*/
                {"Sailormoon",new Effect(sailormoon, ed.Find(e => e.Name == "Sailormoon"))},
                {"GhostBusters",new Effect(gb, ed.Find(e => e.Name == "GhostBusters"))},
                {"Zelda",new Effect(zelda, ed.Find(e => e.Name == "Zelda"))},
                {"Tardis",new Effect(tardis, ed.Find(e => e.Name == "Tardis"))},
                {"F**k",new Effect(f**k, ed.Find(e => e.Name == "F**k"))},
                {"SilverFang",new Effect(silverFang, ed.Find(e => e.Name == "SilverFang"))},
                {"MoraT",new Effect(mt, ed.Find(e => e.Name == "MoraT"))},
                {"Ronja",new Effect(ronja, ed.Find(e => e.Name == "Ronja"))},
                {"Emil",new Effect(emil, ed.Find(e => e.Name == "Emil"))},
                {"Djungelboken",new Effect(djungelboken, ed.Find(e => e.Name == "Djungelboken"))},
                {"Fabbe",new Effect(fabbe, ed.Find(e => e.Name == "Fabbe"))},
                {"Drink",new Effect(drink, ed.Find(e => e.Name == "Drink"))},
                {"Frozen",new Effect(drink, ed.Find(e => e.Name == "Frozen"))}
            };

            runEffectInMonth = new Dictionary<string, List<objdata>>();

            string[] months = Util.monthlist();
            int counter;
            foreach (KeyValuePair<string, Effect> pair in effects)
            {
                counter = 0;
                foreach (bool b in pair.Value.RunAllowedlist)
                {
                    if (b == true)
                    {
                        if (!runEffectInMonth.ContainsKey(months[counter]))
                        {
                            runEffectInMonth.Add(months[counter], new List<objdata>());
                        }

                        runEffectInMonth[months[counter]].Add(new objdata(pair.Key, pair.Value.Vetolist[counter], pair.Value.Priolist[counter], pair.Value.Runslist[counter]));
                    }
                    counter++;
                }
            }

            clock.NewDate += clock_NewDate; // Event listener

            if (ch.CrashDialogResult == System.Windows.Forms.DialogResult.Yes)
            {
                clock.clock = ch.CrashClock;
            }

            string name, date, type;
            // Event dates setup
            foreach (var item in XMLEvents.Descendants("event"))
            {
                name = item.Element("name").Value;
                date = item.Element("date").Value;
                type = item.Element("type").Value.ToLower();
                EventItem ei = new EventItem(name, type, date);
                if (!events.ContainsKey(date))
                {
                    List<EventItem> list = new List<EventItem>(); // seems most bad in my eyes...
                    events.Add(date, list);
                }

                for (int i = 0; i < events[date].Count; i++)
                {
                    EventItem e = events[date][i];
                    if ("birthday".Equals(e.Type) && "birthday".Equals(ei.Type))
                    {
                        e.Name += "\n\n" + ei.Name;
                        events[date][i] = e;
                    }
                }
                events[date].Add(ei);
                name = date = type = string.Empty;
            }

            // this needs to be fixed nicer...
            if (events.ContainsKey(ClockEnd.ToShortDateString()))
            {
                events[ClockEnd.ToShortDateString()].Clear(); // force this to be top..
                events[ClockEnd.ToShortDateString()].Add( new EventItem("outro", "outro", ClockEnd.ToShortDateString()) );
            }
            else
            {
                events.Add(ClockEnd.ToShortDateString(), new List<EventItem>() { new EventItem("outro", "outro", ClockEnd.ToShortDateString()) });
            }

            // Random effects on dates with no effects and check against new list of allowed things for them...
            DateTime dt = ClockStart;
            bool star = (Util.Rnd.Next(0, 1000) < 500 ? true:false); // make this random at the start too?
            int num = 0;

            while (dt <= ClockEnd)
            {
                date = dt.ToShortDateString();
                if (!events.ContainsKey(date))
                {
                    EventItem ei;

                    if (num == 0 || num == 1)
                    {
                        ei = new EventItem("starfield", "random", date);
                    }
                    else
                    {
                        //ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);

                        string month = "";
                        if (dt != null)
                            month = dt.Month.ToString();

                        switch (month)
                        {
                            case "1": month = "jan"; break;
                            case "2": month = "feb"; break;
                            case "3": month = "mar"; break;
                            case "4": month = "apr"; break;
                            case "5": month = "maj"; break;
                            case "6": month = "jun"; break;
                            case "7": month = "jul"; break;
                            case "8": month = "aug"; break;
                            case "9": month = "sep"; break;
                            case "10": month = "okt"; break;
                            case "11": month = "nov"; break;
                            case "12": month = "dec"; break;
                        }//switch

                        if (runEffectInMonth.ContainsKey(month))
                        {
                            List<objdata> mobj = runEffectInMonth[month];

                            List<objdata> vetolist = new List<objdata>();
                            List<objdata> novetolist = new List<objdata>();

                            foreach (objdata n in mobj)
                            {

                                if ("Quiz".Equals(n.Name) && eventnum == 4)
                                {
                                    n.vetoAgain();
                                    eventnum = 0;
                                }

                                if (n.Veto == true)
                                {
                                    if (n.Runs > 0)
                                        vetolist.Add(n);
                                }
                                else
                                {
                                    if (n.Runs > 0)
                                        novetolist.Add(n);
                                }
                            }

                            vetolist.Sort();
                            novetolist.Sort();

                            if (vetolist.Count > 0)
                            {
                                ei = new EventItem(vetolist[0].Name, "random", date);
                                vetolist[0].noMoreVeto();
                            }
                            else if (novetolist.Count > 0)
                            {
                                ei = new EventItem(novetolist[0].Name, "random", date);
                                novetolist[0].decRuns();
                                if (eventnum < 4)
                                    eventnum++;
                            }
                            else
                            {
                                ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);
                            }
                        }
                        else
                        {
                            ei = new EventItem(randomEvent[Util.Rnd.Next(1, randomEvent.Count)], "random", date);
                        }
                    }

                    num++;
                    if (num == 3)
                    {
                        num = 0;
                    }
                    ei = new EventItem("Self", "random", date); // this is for debuging new events
                    events.Add(date, new List<EventItem>());
                    events[date].Add(ei);
                }

                dt = dt.AddDays(1);
                date = string.Empty;
            }
        }
コード例 #58
0
        private void Init(Display display)
        {
            mScroller = new Scroller(Context);
            float density;

            if (display != null)
            {
                DisplayMetrics displayMetrics = new DisplayMetrics();
                display.GetMetrics(displayMetrics);
                density = displayMetrics.Density;
            }
            else
            {
                density = Context.Resources.DisplayMetrics.Density;
            }
            mDensityAdjustedSnapVelocity = (int)(density * SNAP_VELOCITY_DIP_PER_SECOND);

            ViewConfiguration configuration = ViewConfiguration.Get(Context);
            mTouchSlop = configuration.ScaledTouchSlop;
            mMaximumVelocity = configuration.ScaledMaximumFlingVelocity;
        }
コード例 #59
0
ファイル: ViewportDemo.cs プロジェクト: groov0v/edriven-gui
    override protected void CreateChildren()
    {
        base.CreateChildren();

        /**
         * Note: this demo HAS the overall scroller, but the stage itself SEEMS not to scroll
         * That's because we pushed the scrolled 150 px from both right and bottom
         * so we could place additional scrollbars there.
         * */

        #region Scroller + viewport

        Scroller scroller = new Scroller
        {
            SkinClass = typeof (ScrollerSkin2),
            Left = 10,
            Right = 150,
            Top = 10,
            Bottom = 150
        };
        //scroller.SetStyle("horizontalScrollPolicy", ScrollPolicy.On);
        //scroller.SetStyle("verticalScrollPolicy", ScrollPolicy.On);
        AddChild(scroller);

        Group viewport = new Group();
        scroller.Viewport = viewport;

        #endregion
        
        #region Horizontal scrollers

        HGroup hGroup = new HGroup { Gap = 10 };
        viewport.AddChild(hGroup);

        VGroup hScrollers = new VGroup
                                {
                                    PercentWidth = 100,
                                    Gap = 10,
                                    Left = 10,
                                    Right = 150,
                                    Bottom = 10
                                };
        AddChild(hScrollers);

        HScrollBar hScroll = new HScrollBar
                                    {
                                        SkinClass = typeof(HScrollBarSkin3),
                                        PercentWidth = 100,
                                        Maximum = 600,
                                        Viewport = viewport,
                                        MouseWheelScrollsHorizontally = true
                                    };
        hScrollers.AddChild(hScroll);

        hScroll = new HScrollBar
                        {
                            SkinClass = typeof(HScrollBarSkin2),
                            PercentWidth = 100,
                            Maximum = 600,
                            Viewport = viewport,
                        };
        hScrollers.AddChild(hScroll);

        hScroll = new HScrollBar
                        {
                            PercentWidth = 100,
                            Maximum = 600,
                            Viewport = viewport,
                        };
        hScrollers.AddChild(hScroll);

        #endregion

        #region Vertical scrollers

        HGroup vScrollers = new HGroup
                                {
                                    PercentHeight = 100,
                                    Gap = 10,
                                    Right = 10,
                                    Top = 10,
                                    Bottom = 150
                                };
        AddChild(vScrollers);

        VScrollBar vScroll = new VScrollBar
                                    {
                                        SkinClass = typeof(VScrollBarSkin3), PercentHeight = 100, Maximum = 600,
                                        Viewport = viewport
                                    };
        vScrollers.AddChild(vScroll);

        vScroll = new VScrollBar
        {
            SkinClass = typeof(VScrollBarSkin2),
            PercentHeight = 100,
            Maximum = 600,
            Viewport = viewport
        };
        vScrollers.AddChild(vScroll);

        vScroll = new VScrollBar
        {
            PercentHeight = 100,
            Maximum = 600,
            Viewport = viewport
        };
        vScrollers.AddChild(vScroll);

        #endregion

        #region Content

        VGroup vGroup = new VGroup
        {
            Id = "vGroup",
            VerticalAlign = VerticalAlign.Middle,
            HorizontalCenter = 0,
            VerticalCenter = 0,
            PaddingLeft = 10,
            PaddingRight = 10,
            PaddingTop = 10,
            PaddingBottom = 10,
            Gap = 10
        };

        vGroup.SetStyle("showBackground", true);
        vGroup.SetStyle("backgroundColor", Color.white);
        hGroup.AddChild(vGroup);

        HGroup hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        _btn = new Button
        {
            Text = "Default button",
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            MinWidth = 200,
            MinHeight = 150
        };
        /* Let's just add a panel to the bottom row on double-clicking this button */
        _btn.DoubleClick += delegate { AddPanel(); };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Default toggle",
            FocusEnabled = false,
            ToggleMode = true,
            Selected = true,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text")
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Styled button",
            SkinClass = typeof (ButtonSkin2),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text"),
            MinWidth = 200,
            MinHeight = 150
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Styled toggle",
            SkinClass = typeof (ButtonSkin2),
            FocusEnabled = false,
            ToggleMode = true,
            Selected = true,
            Icon = ImageLoader.Instance.Load("Icons/page_white_text")
        };
        hgroup.AddChild(_btn);

        // nice buttons 1st row

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        _btn = new Button
        {
            Text = "Option 1",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 2",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 3",
            SkinClass = typeof (ButtonSkin4),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/arkshany-bookmarks"),
            MinWidth = 200,
            MinHeight = 200,
            ToggleMode = true,
            Selected = true
        };
        hgroup.AddChild(_btn);

        // nice buttons 2nd row

        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        _btn = new MyButton
        {
            Text = "Option 1",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/applications-games"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new MyButton2
        {
            Text = "Option 2",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/gconfeditor"),
            MinWidth = 200,
            MinHeight = 200
        };
        hgroup.AddChild(_btn);

        _btn = new Button
        {
            Text = "Option 3 (disabled)",
            SkinClass = typeof (ButtonSkin5),
            FocusEnabled = false,
            Icon = ImageLoader.Instance.Load("IconsBig/gtk-floppy"),
            MinWidth = 200,
            MinHeight = 200,
            Enabled = false
        };
        hgroup.AddChild(_btn);

        // new row
        hgroup = new HGroup();
        vGroup.AddChild(hgroup);

        // image
        var image = new Image
        {
            Texture = (Texture) Resources.Load("eDriven/Editor/Logo/logo2")
        };
        hgroup.AddChild(image);

        // panel 1
        _panel = new Panel
        {
            Title = "Panel 1",
            MinWidth = 200,
            MinHeight = 300
        };
        hgroup.AddChild(_panel);

        // panel 2
        _panel = new Panel
        {
            SkinClass = typeof (PanelSkin3),
            Title = "Panel 2",
            MinWidth = 200,
            MinHeight = 300
        };
        hgroup.AddChild(_panel);

        // panel 3
        _panel = new Panel
        {
            SkinClass = typeof (PanelSkin4),
            Title = "Panel 3",
            MinWidth = 200,
            MinHeight = 300
        };
        hgroup.AddChild(_panel);

        #endregion

        // new row (placeholder)
        _hgroup = new HGroup();
        vGroup.AddChild(_hgroup);
    }
コード例 #60
0
        private void Initialize(IAttributeSet attrs, int defStyle)
        {
            InitalizeAttributes(attrs, defStyle);

            scroller = new Scroller(Context);

            // I'm not using ViewTreeObserver.GlobalLayout because it gets called too many
            // times, even after removing the handler, seems like a bug maybe.
            this.ViewTreeObserver.AddOnGlobalLayoutListener(this);
        }