protected override void Dispose(bool disposing)
        {
            BookInfo = null;

            customTriView   = null;
            downloadButton  = null;
            updateButton    = null;
            expiredButton   = null;
            updateInfoLabel = null;

            progressView = null;

            //
            currencyDateTF   = null;
            titleStatusLabel = null;
            infoButton       = null;
        }
        void AddTriangleView(NSColor bkgColor, bool isShow)
        {
            if (customTriView == null)
            {
                var frame = new CGRect(PUBLICATION_DOWN_ORGX,
                                       PUBLICATION_DOWN_ORGY,
                                       PUBLICATION_DOWN_WIDTH,
                                       PUBLICATION_DOWN_WIDTH
                                       );

                customTriView = new TriangleView(frame);
                customTriView.BackgroudColor = bkgColor;

                WantsLayer = true;
                AddSubview(customTriView);
            }

            customTriView.Hidden = !isShow;
        }