예제 #1
0
        void ReleaseDesignerOutlets()
        {
            if (AContentView != null)
            {
                AContentView.Dispose();
                AContentView = null;
            }

            if (AreaLabel != null)
            {
                AreaLabel.Dispose();
                AreaLabel = null;
            }

            if (AuthorLabel != null)
            {
                AuthorLabel.Dispose();
                AuthorLabel = null;
            }

            if (BookSize != null)
            {
                BookSize.Dispose();
                BookSize = null;
            }

            if (BookSizeLabel != null)
            {
                BookSizeLabel.Dispose();
                BookSizeLabel = null;
            }

            if (BookTitleLabel != null)
            {
                BookTitleLabel.Dispose();
                BookTitleLabel = null;
            }

            if (CaseLabel != null)
            {
                CaseLabel.Dispose();
                CaseLabel = null;
            }

            if (CasesButton != null)
            {
                CasesButton.Dispose();
                CasesButton = null;
            }

            if (CaseTextField != null)
            {
                CaseTextField.Dispose();
                CaseTextField = null;
            }

            if (CaseView != null)
            {
                CaseView.Dispose();
                CaseView = null;
            }

            if (ContactEmailLabel != null)
            {
                ContactEmailLabel.Dispose();
                ContactEmailLabel = null;
            }

            if (ContactPhoneLabel != null)
            {
                ContactPhoneLabel.Dispose();
                ContactPhoneLabel = null;
            }

            if (CoverImageView != null)
            {
                CoverImageView.Dispose();
                CoverImageView = null;
            }

            if (CurrencyDate != null)
            {
                CurrencyDate.Dispose();
                CurrencyDate = null;
            }

            if (CurrencyDateLabel != null)
            {
                CurrencyDateLabel.Dispose();
                CurrencyDateLabel = null;
            }

            if (CurrentDayLabel != null)
            {
                CurrentDayLabel.Dispose();
                CurrentDayLabel = null;
            }

            if (DescriptionLabel != null)
            {
                DescriptionLabel.Dispose();
                DescriptionLabel = null;
            }

            if (DescriptionView != null)
            {
                DescriptionView.Dispose();
                DescriptionView = null;
            }

            if (DespTextField != null)
            {
                DespTextField.Dispose();
                DespTextField = null;
            }

            if (ExpiredInfoTF != null)
            {
                ExpiredInfoTF.Dispose();
                ExpiredInfoTF = null;
            }

            if (ExpiredLabel != null)
            {
                ExpiredLabel.Dispose();
                ExpiredLabel = null;
            }

            if (ExpiredView != null)
            {
                ExpiredView.Dispose();
                ExpiredView = null;
            }

            if (InfoLabel != null)
            {
                InfoLabel.Dispose();
                InfoLabel = null;
            }

            if (InformationView != null)
            {
                InformationView.Dispose();
                InformationView = null;
            }

            if (InstalledDate != null)
            {
                InstalledDate.Dispose();
                InstalledDate = null;
            }

            if (InstalledLabel != null)
            {
                InstalledLabel.Dispose();
                InstalledLabel = null;
            }

            if (LoanButton != null)
            {
                LoanButton.Dispose();
                LoanButton = null;
            }

            if (PracticeArea != null)
            {
                PracticeArea.Dispose();
                PracticeArea = null;
            }

            if (ProgressBar != null)
            {
                ProgressBar.Dispose();
                ProgressBar = null;
            }

            if (ProgressStatusLabel != null)
            {
                ProgressStatusLabel.Dispose();
                ProgressStatusLabel = null;
            }

            if (ProgressView != null)
            {
                ProgressView.Dispose();
                ProgressView = null;
            }

            if (ScrollView != null)
            {
                ScrollView.Dispose();
                ScrollView = null;
            }

            if (Subcategory != null)
            {
                Subcategory.Dispose();
                Subcategory = null;
            }

            if (SubcategoryLabel != null)
            {
                SubcategoryLabel.Dispose();
                SubcategoryLabel = null;
            }

            if (TagsView != null)
            {
                TagsView.Dispose();
                TagsView = null;
            }

            if (TitleView != null)
            {
                TitleView.Dispose();
                TitleView = null;
            }

            if (UpdateButton != null)
            {
                UpdateButton.Dispose();
                UpdateButton = null;
            }

            if (UpdateInfoLabel != null)
            {
                UpdateInfoLabel.Dispose();
                UpdateInfoLabel = null;
            }

            if (Version != null)
            {
                Version.Dispose();
                Version = null;
            }

            if (VersionLabel != null)
            {
                VersionLabel.Dispose();
                VersionLabel = null;
            }

            if (WhatNewInfoLabel != null)
            {
                WhatNewInfoLabel.Dispose();
                WhatNewInfoLabel = null;
            }

            if (WhatNewInfoView != null)
            {
                WhatNewInfoView.Dispose();
                WhatNewInfoView = null;
            }

            if (WhatNewLabel != null)
            {
                WhatNewLabel.Dispose();
                WhatNewLabel = null;
            }

            if (WhatNewView != null)
            {
                WhatNewView.Dispose();
                WhatNewView = null;
            }

            if (DotButton != null)
            {
                DotButton.Dispose();
                DotButton = null;
            }
        }
예제 #2
0
        void LayoutSubViews()
        {
            if (BookInfo == null)
            {
                return;
            }

            //calculate the subview size
            CGSize infoViewSize     = InformationView.Frame.Size;
            CGSize whatsNewViewSize = WhatNewView.Frame.Size;

            CGSize casesViewSize;

            if (CaseView.Hidden)
            {
                casesViewSize = new CGSize(0, 0);
            }
            else
            {
                casesViewSize = CaseView.Frame.Size;
            }

            CGSize despViewSize = DescriptionView.Frame.Size;

            CGSize expiredViewSize;

            if (BookInfo.DaysRemaining < 0)
            {
                expiredViewSize = ExpiredView.Frame.Size;
            }
            else
            {
                expiredViewSize = new CGSize(0, 0);
            }

            CGSize titleViewSize = TitleView.Frame.Size;

            //set scrollview contentview size
            nfloat caseSpace   = casesViewSize.Height == 0 ? 0 : VERTICAL_SPACING;
            nfloat expirdSpace = expiredViewSize.Height == 0 ? 0 : VERTICAL_SPACING;
            nfloat height      = VERTICAL_SPACING +
                                 infoViewSize.Height + VERTICAL_SPACING +
                                 whatsNewViewSize.Height + VERTICAL_SPACING +
                                 casesViewSize.Height + caseSpace +
                                 despViewSize.Height + VERTICAL_SPACING +
                                 expiredViewSize.Height + expirdSpace +
                                 titleViewSize.Height;

            CGRect scrollFrame = ScrollView.Frame;

            nfloat contentHeight = scrollFrame.Bottom > height ? scrollFrame.Bottom : height;

            var contentSize = new CGSize(AContentView.Frame.Size.Width, contentHeight);

            AContentView.SetFrameSize(contentSize);

            //add subview to document view
            var docView = (NSView)ScrollView.DocumentView;

            docView.SetFrameSize(contentSize);

            foreach (NSView view in docView.Subviews)
            {
                view.RemoveFromSuperview();
            }

            docView.AddSubview(AContentView);
            AContentView.SetFrameOrigin(new CGPoint(0, 0));

            //recalulate subviews origin point
            nfloat startOffset = scrollFrame.Bottom >= height ? (scrollFrame.Bottom - height + VERTICAL_SPACING) : VERTICAL_SPACING;
            nfloat yOffset;

            var InfoViewPoint = InformationView.Frame.Location;

            InfoViewPoint.Y = startOffset;
            InformationView.SetFrameOrigin(InfoViewPoint);

            var WhatsViewPoint = new CGPoint(InfoViewPoint.X, InfoViewPoint.Y + infoViewSize.Height + VERTICAL_SPACING);

            WhatNewView.SetFrameOrigin(WhatsViewPoint);

            var CaseViewPoint = new CGPoint(InfoViewPoint.X, WhatsViewPoint.Y + whatsNewViewSize.Height + VERTICAL_SPACING);

            CaseView.SetFrameOrigin(CaseViewPoint);

            if (casesViewSize.Height > 0)
            {
                yOffset = VERTICAL_SPACING;
            }
            else
            {
                yOffset = 0;
            }

            var DesViewPoint = new CGPoint(InfoViewPoint.X, CaseViewPoint.Y + casesViewSize.Height + yOffset);

            DescriptionView.SetFrameOrigin(DesViewPoint);

            var ExpireViewPoint = new CGPoint(InfoViewPoint.X, DesViewPoint.Y + despViewSize.Height + VERTICAL_SPACING);

            ExpiredView.SetFrameOrigin(ExpireViewPoint);

            if (expiredViewSize.Height > 0)
            {
                yOffset = VERTICAL_SPACING;
            }
            else
            {
                yOffset = 0;
            }

            var TitleViewPoint = new CGPoint(InfoViewPoint.X, ExpireViewPoint.Y + expiredViewSize.Height + yOffset);

            TitleView.SetFrameOrigin(TitleViewPoint);

            ScrollToTop();
        }