1a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// found in the LICENSE file. 4a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 5a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_MEDIA_GALLERY_CHECKBOX_VIEW_H_ 6a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_MEDIA_GALLERY_CHECKBOX_VIEW_H_ 7a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "base/macros.h" 9a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "base/strings/string16.h" 10a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ui/gfx/size.h" 11a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "ui/views/view.h" 12a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 13f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)struct MediaGalleryPrefInfo; 14f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) 15a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)namespace views { 16a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class ButtonListener; 17a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class Checkbox; 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class ContextMenuController; 19a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class ImageButton; 20a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class Label; 21a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)} // namespace views 22a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 23a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// A view composed of a checkbox, optional folder icon button, and secondary 24a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// text that will elide to its parent's width; used by MediaGalleriesDialogViews 25a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)// and MediaGalleriesScanResultDialogViews. 26a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class MediaGalleryCheckboxView : public views::View { 27a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) public: 28f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles) MediaGalleryCheckboxView(const MediaGalleryPrefInfo& pref_info, 29a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) bool show_button, 30a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) int trailing_vertical_space, 31a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::ButtonListener* button_listener, 32a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::ContextMenuController* menu_controller); 33a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual ~MediaGalleryCheckboxView(); 34a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 35a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Overrides from views::View. 36a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) virtual void Layout() OVERRIDE; 37a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 38a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::Checkbox* checkbox() { return checkbox_; } 39a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::ImageButton* folder_viewer_button() { return folder_viewer_button_; } 40a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::Label* secondary_text() { return secondary_text_; } 41a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 42a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) private: 43a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) // Owned by the parent class (views::View). 44a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::Checkbox* checkbox_; 45a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::ImageButton* folder_viewer_button_; 46a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) views::Label* secondary_text_; 47a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 48a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MediaGalleryCheckboxView); 49a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)}; 50a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) 51a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_MEDIA_GALLERY_CHECKBOX_VIEW_H_ 52