Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(22)

Side by Side Diff: chrome/browser/views/logging_about_dialog.h

Issue 19433: Factor out the common parts of the about network dialog. I will be using this... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/views/browser_views.vcproj ('k') | chrome/browser/views/logging_about_dialog.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:mergeinfo
Merged /branches/chrome_webkit_merge_branch/chrome/browser/views/about_network_dialog.h:r69-2775
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_VIEWS_ABOUT_NETWORK_DIALOG_H_ 5 #ifndef CHROME_BROWSER_VIEWS_LOGGING_ABOUT_DIALOG_H_
6 #define CHROME_BROWSER_VIEWS_ABOUT_NETWORK_DIALOG_H_ 6 #define CHROME_BROWSER_VIEWS_LOGGING_ABOUT_DIALOG_H_
7 7
8 #include "base/singleton.h" 8 #include "base/singleton.h"
9 #include "chrome/views/base_button.h" 9 #include "chrome/views/base_button.h"
10 #include "chrome/views/dialog_delegate.h" 10 #include "chrome/views/dialog_delegate.h"
11 11
12 namespace views { 12 namespace views {
13 class ColumnSet;
14 class GridLayout;
13 class TextButton; 15 class TextButton;
14 class TextField; 16 class TextField;
15 } // namespace views 17 } // namespace views
16 18
17 class AboutNetworkDialog : public views::DialogDelegate, 19 // This is the base class for dialog boxes used in debugging that dump text
18 public views::BaseButton::ButtonListener, 20 // into a textbox. The derived class specifies which buttons appear at the top
21 // of the dialog, this class manages the text area.
22 class LoggingAboutDialog : public views::DialogDelegate,
19 public views::View { 23 public views::View {
20 public: 24 public:
21 // This dialog is a singleton. If the dialog is already opened, it won't do 25 virtual ~LoggingAboutDialog();
22 // anything, so you can just blindly call this function all you want.
23 static void RunDialog();
24
25 virtual ~AboutNetworkDialog();
26 26
27 // Appends the given string to the dialog box. This is called by the job 27 // Appends the given string to the dialog box. This is called by the job
28 // tracker (see the .cc file) when "stuff happens." 28 // tracker (see the .cc file) when "stuff happens."
29 void AppendText(const std::wstring& text); 29 void AppendText(const std::wstring& text);
30 30
31 // Returns true if we're currently tracking network operations. 31 protected:
32 bool tracking() const { return tracking_; } 32 // The derived class should be sure to call SetupControls. We don't want
33 33 // this class to do it becuase it calls virtual functions, and the derived
34 private: 34 // class wouldn't be constructed yet.
35 friend struct DefaultSingletonTraits<AboutNetworkDialog>; 35 LoggingAboutDialog();
36
37 AboutNetworkDialog();
38 36
39 // Sets up all UI controls for the dialog. 37 // Sets up all UI controls for the dialog.
40 void SetupControls(); 38 void SetupControls();
41 39
40 // Sets up the column set for the buttons that appears at the top of the
41 // dialog.
42 virtual void SetupButtonColumnSet(views::ColumnSet* set) = 0;
43
44 // Adds any custom buttons to the layout. This will be in the column set
45 // set up above.
46 virtual void AddButtonControlsToLayout(views::GridLayout* layout) = 0;
47
48 views::TextField* text_field() { return text_field_; }
49
50 private:
42 virtual gfx::Size GetPreferredSize(); 51 virtual gfx::Size GetPreferredSize();
43 virtual views::View* GetContentsView(); 52 virtual views::View* GetContentsView();
44 virtual int GetDialogButtons() const; 53 virtual int GetDialogButtons() const;
45 virtual std::wstring GetWindowTitle() const; 54 virtual std::wstring GetWindowTitle() const;
46 virtual void Layout();
47 55
48 // views::WindowDelegate (via view::DialogDelegate). 56 // views::WindowDelegate (via view::DialogDelegate).
49 virtual bool CanResize() const; 57 virtual bool CanResize() const;
50 58
51 // views::BaseButton::ButtonListener. 59 // The text field that contains the log messages.
52 virtual void ButtonPressed(views::BaseButton* button);
53
54 views::TextButton* track_toggle_;
55 views::TextButton* show_button_;
56 views::TextButton* clear_button_;
57 views::TextField* text_field_; 60 views::TextField* text_field_;
58 61
59 // Set to true when we're tracking network status. 62 DISALLOW_COPY_AND_ASSIGN(LoggingAboutDialog);
60 bool tracking_;
61
62 DISALLOW_COPY_AND_ASSIGN(AboutNetworkDialog);
63 }; 63 };
64 64
65 #endif // CHROME_BROWSER_VIEWS_ABOUT_NETWORK_DIALOG_H_ 65 #endif // CHROME_BROWSER_VIEWS_LOGGING_ABOUT_DIALOG_H_
OLDNEW
« no previous file with comments | « chrome/browser/views/browser_views.vcproj ('k') | chrome/browser/views/logging_about_dialog.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698