• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdesdk API Reference
  • KDE Home
  • Contact Us
 

umbrello/umbrello

  • sources
  • kde-4.12
  • kdesdk
  • umbrello
  • umbrello
  • codegenerators
  • ruby
rubycodegenerationpolicy.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  * This program is free software; you can redistribute it and/or modify *
3  * it under the terms of the GNU General Public License as published by *
4  * the Free Software Foundation; either version 2 of the License, or *
5  * (at your option) any later version. *
6  * *
7  * copyright (C) 2005 *
8  * Richard Dale <Richard_Dale@tipitina.demon.co.uk> *
9  * copyright (C) 2006-2013 *
10  * Umbrello UML Modeller Authors <umbrello-devel@kde.org> *
11  ***************************************************************************/
12 
13 // own header
14 #include "rubycodegenerationpolicy.h"
15 // qt/kde includes
16 #include <kconfig.h>
17 // app includes
18 #include "optionstate.h"
19 #include "rubycodegenerationpolicypage.h"
20 #include "rubycodegenerator.h"
21 #include "uml.h"
22 #include "umbrellosettings.h"
23 
27 RubyCodeGenerationPolicy::RubyCodeGenerationPolicy()
28 {
29  m_commonPolicy = UMLApp::app()->commonPolicy();
30  init();
31 }
32 
36 RubyCodeGenerationPolicy::~RubyCodeGenerationPolicy()
37 {
38 }
39 
44 void RubyCodeGenerationPolicy::setAutoGenerateAttribAccessors(bool var)
45 {
46  Settings::optionState().codeGenerationState.rubyCodeGenerationState.autoGenerateAttributeAccessors = var;
47  m_commonPolicy->emitModifiedCodeContentSig();
48 }
49 
54 void RubyCodeGenerationPolicy::setAutoGenerateAssocAccessors(bool var)
55 {
56  Settings::optionState().codeGenerationState.rubyCodeGenerationState.autoGenerateAssocAccessors = var;
57  m_commonPolicy->emitModifiedCodeContentSig();
58 }
59 
64 bool RubyCodeGenerationPolicy::getAutoGenerateAttribAccessors()
65 {
66  return Settings::optionState().codeGenerationState.rubyCodeGenerationState.autoGenerateAttributeAccessors;
67 }
68 
73 bool RubyCodeGenerationPolicy::getAutoGenerateAssocAccessors()
74 {
75  return Settings::optionState().codeGenerationState.rubyCodeGenerationState.autoGenerateAssocAccessors;
76 }
77 
83 void RubyCodeGenerationPolicy::setDefaults (CodeGenPolicyExt * defaults, bool emitUpdateSignal)
84 {
85  RubyCodeGenerationPolicy * rclone;
86  if (!defaults)
87  return;
88 
89  // NOW block signals for ruby param setting
90  blockSignals(true); // we need to do this because otherwise most of these
91  // settors below will each send the modifiedCodeContent() signal
92  // needlessly (we can just make one call at the end).
93 
94  // now do ruby-specific stuff IF our clone is also a RubyCodeGenerationPolicy object
95  if((rclone = dynamic_cast<RubyCodeGenerationPolicy*>(defaults)))
96  {
97  setAutoGenerateAttribAccessors(rclone->getAutoGenerateAttribAccessors());
98  setAutoGenerateAssocAccessors(rclone->getAutoGenerateAssocAccessors());
99  }
100 
101  blockSignals(false); // "as you were citizen"
102 
103  if(emitUpdateSignal)
104  m_commonPolicy->emitModifiedCodeContentSig();
105 }
106 
111 void RubyCodeGenerationPolicy::setDefaults(bool emitUpdateSignal)
112 {
113  // call the superclass to init default stuff
114  m_commonPolicy->setDefaults(false);
115 
116  // NOW block signals (because call to super-class method will leave value at "true")
117  blockSignals(true); // we need to do this because otherwise most of these
118  // settors below will each send the modifiedCodeContent() signal
119  // needlessly (we can just make one call at the end).
120 
121  // now do ruby specific stuff
122 
123  setAutoGenerateAttribAccessors(UmbrelloSettings::autoGenerateAttributeAccessorsRuby());
124  setAutoGenerateAssocAccessors(UmbrelloSettings::autoGenerateAssocAccessorsRuby());
125 
126  blockSignals(false); // "as you were citizen"
127 
128  if(emitUpdateSignal)
129  m_commonPolicy->emitModifiedCodeContentSig();
130 }
131 
138 CodeGenerationPolicyPage * RubyCodeGenerationPolicy::createPage (QWidget *parent, const char *name)
139 {
140  return new RubyCodeGenerationPolicyPage (parent, name, this);
141 }
142 
146 void RubyCodeGenerationPolicy::init()
147 {
148  blockSignals(true);
149 
150  Settings::OptionState optionState = Settings::optionState();
151  setAutoGenerateAttribAccessors(optionState.codeGenerationState.rubyCodeGenerationState.autoGenerateAttributeAccessors);
152  setAutoGenerateAssocAccessors(optionState.codeGenerationState.rubyCodeGenerationState.autoGenerateAssocAccessors);
153 
154  blockSignals(false);
155 }
156 
157 #include "rubycodegenerationpolicy.moc"
Settings::optionState
OptionState & optionState()
Definition: optionstate.cpp:25
Settings::CodeGenerationState::RubyCodeGenerationState::autoGenerateAttributeAccessors
bool autoGenerateAttributeAccessors
Definition: optionstate.h:120
umbrellosettings.h
CodeGenerationPolicy::emitModifiedCodeContentSig
void emitModifiedCodeContentSig()
Emits the signal 'ModifiedCodeContent'.
Definition: codegenerationpolicy.cpp:420
rubycodegenerationpolicy.h
QWidget
UMLApp::app
static UMLApp * app()
Get the last created instance of this class.
Definition: uml.cpp:206
CodeGenerationPolicy::setDefaults
virtual void setDefaults(CodeGenerationPolicy *defaults, bool emitUpdateSignal=true)
set the defaults from a config file
Definition: codegenerationpolicy.cpp:429
Settings::OptionState
Definition: optionstate.h:141
Settings::CodeGenerationState::rubyCodeGenerationState
RubyCodeGenerationState rubyCodeGenerationState
Definition: optionstate.h:127
optionstate.h
RubyCodeGenerationPolicy::setDefaults
virtual void setDefaults(CodeGenPolicyExt *defaults, bool emitUpdateSignal=true)
Set the defaults for this code generator from the passed generator.
Definition: rubycodegenerationpolicy.cpp:83
RubyCodeGenerationPolicy
Definition: rubycodegenerationpolicy.h:24
UMLApp::commonPolicy
CodeGenerationPolicy * commonPolicy() const
Returns the default code generation policy.
Definition: uml.cpp:2132
Settings::OptionState::codeGenerationState
CodeGenerationState codeGenerationState
Definition: optionstate.h:146
Settings::CodeGenerationState::RubyCodeGenerationState::autoGenerateAssocAccessors
bool autoGenerateAssocAccessors
Definition: optionstate.h:121
RubyCodeGenerationPolicyPage
Definition: rubycodegenerationpolicypage.h:20
UmbrelloSettings::autoGenerateAssocAccessorsRuby
static bool autoGenerateAssocAccessorsRuby()
Get Auto Generate Assoc Accessors (Ruby)
Definition: umbrellosettings.h:1656
RubyCodeGenerationPolicy::RubyCodeGenerationPolicy
RubyCodeGenerationPolicy()
Constructor.
Definition: rubycodegenerationpolicy.cpp:27
CodeGenerationPolicyPage
Definition: codegenerationpolicypage.h:30
UmbrelloSettings::autoGenerateAttributeAccessorsRuby
static bool autoGenerateAttributeAccessorsRuby()
Get Auto Generate Attribute Accessors (Ruby)
Definition: umbrellosettings.h:1637
RubyCodeGenerationPolicy::getAutoGenerateAttribAccessors
bool getAutoGenerateAttribAccessors()
Get the value of m_autoGenerateAttribAccessors.
Definition: rubycodegenerationpolicy.cpp:64
RubyCodeGenerationPolicy::~RubyCodeGenerationPolicy
virtual ~RubyCodeGenerationPolicy()
Destructor.
Definition: rubycodegenerationpolicy.cpp:36
CodeGenPolicyExt
Base class for programming language specific code generation policy extensions.
Definition: codegenpolicyext.h:28
RubyCodeGenerationPolicy::createPage
CodeGenerationPolicyPage * createPage(QWidget *parent=0, const char *name=0)
Create a new dialog interface for this object.
Definition: rubycodegenerationpolicy.cpp:138
RubyCodeGenerationPolicy::getAutoGenerateAssocAccessors
bool getAutoGenerateAssocAccessors()
Get the value of m_autoGenerateAssocAccessors.
Definition: rubycodegenerationpolicy.cpp:73
rubycodegenerator.h
RubyCodeGenerationPolicy::setAutoGenerateAttribAccessors
void setAutoGenerateAttribAccessors(bool var)
Set the value of m_autoGenerateAttribAccessors.
Definition: rubycodegenerationpolicy.cpp:44
rubycodegenerationpolicypage.h
RubyCodeGenerationPolicy::setAutoGenerateAssocAccessors
void setAutoGenerateAssocAccessors(bool var)
Set the value of m_autoGenerateAssocAccessors.
Definition: rubycodegenerationpolicy.cpp:54
uml.h
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:06:00 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

umbrello/umbrello

Skip menu "umbrello/umbrello"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdesdk API Reference

Skip menu "kdesdk API Reference"
  • kapptemplate
  • kcachegrind
  • kompare
  • lokalize
  • okteta
  • umbrello
  •   umbrello

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal