Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > ff187cb994c94c614ecc64c5a8528b1b > files > 5687

qt-doc-4.8.5-10.fc18.noarch.rpm

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- qmaccocoaviewcontainer_mac.mm -->
  <title>Qt 4.8: QMacCocoaViewContainer Class Reference</title>
  <link rel="stylesheet" type="text/css" href="style/style.css" />
  <script src="scripts/jquery.js" type="text/javascript"></script>
  <script src="scripts/functions.js" type="text/javascript"></script>
  <link rel="stylesheet" type="text/css" href="style/superfish.css" />
  <link rel="stylesheet" type="text/css" href="style/narrow.css" />
  <!--[if IE]>
<meta name="MSSmartTagsPreventParsing" content="true">
<meta http-equiv="imagetoolbar" content="no">
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie6.css">
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="style/style_ie7.css">
<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" type="text/css" href="style/style_ie8.css">
<![endif]-->

<script src="scripts/superfish.js" type="text/javascript"></script>
<script src="scripts/narrow.js" type="text/javascript"></script>

</head>
<body class="" onload="CheckEmptyAndLoadList();">
 <div class="header" id="qtdocheader">
    <div class="content"> 
    <div id="nav-logo">
      <a href="index.html">Home</a></div>
    <a href="index.html" class="qtref"><span>Qt Reference Documentation</span></a>
    <div id="narrowsearch"></div>
    <div id="nav-topright">
      <ul>
        <li class="nav-topright-home"><a href="http://qt.digia.com/">Qt HOME</a></li>
        <li class="nav-topright-dev"><a href="http://qt-project.org/">DEV</a></li>
        <li class="nav-topright-doc nav-topright-doc-active"><a href="http://qt-project.org/doc/">
          DOC</a></li>
        <li class="nav-topright-blog"><a href="http://blog.qt.digia.com/">BLOG</a></li>
      </ul>
    </div>
    <div id="shortCut">
      <ul>
        <li class="shortCut-topleft-inactive"><span><a href="index.html">Qt 4.8</a></span></li>
        <li class="shortCut-topleft-active"><a href="http://qt-project.org/doc/">ALL VERSIONS        </a></li>
      </ul>
     </div>
 <ul class="sf-menu" id="narrowmenu"> 
             <li><a href="#">API Lookup</a> 
                 <ul> 
                     <li><a href="classes.html">Class index</a></li> 
           <li><a href="functions.html">Function index</a></li> 
           <li><a href="modules.html">Modules</a></li> 
           <li><a href="namespaces.html">Namespaces</a></li> 
           <li><a href="qtglobal.html">Global Declarations</a></li> 
           <li><a href="qdeclarativeelements.html">QML elements</a></li> 
             </ul> 
             </li> 
             <li><a href="#">Qt Topics</a> 
                 <ul> 
                        <li><a href="qt-basic-concepts.html">Programming with Qt</a></li>  
                        <li><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li>  
                        <li><a href="qt-gui-concepts.html">UI Design with Qt</a></li>  
                        <li><a href="supported-platforms.html">Supported Platforms</a></li>  
                        <li><a href="technology-apis.html">Qt and Key Technologies</a></li>  
                        <li><a href="best-practices.html">How-To's and Best Practices</a></li>  
              </ul> 
                 </li> 
                 <li><a href="#">Examples</a> 
                     <ul> 
                       <li><a href="all-examples.html">Examples</a></li> 
                       <li><a href="tutorials.html">Tutorials</a></li> 
                       <li><a href="demos.html">Demos</a></li> 
                       <li><a href="qdeclarativeexamples.html">QML Examples</a></li> 
                </ul> 
                     </li> 
                 </ul> 
    </div>
  </div>
  <div class="wrapper">
    <div class="hd">
      <span></span>
    </div>
    <div class="bd group">
      <div class="sidebar">
        <div class="searchlabel">
          Search index:</div>
        <div class="search" id="sidebarsearch">
          <form id="qtdocsearch" action="" onsubmit="return false;">
            <fieldset>
              <input type="text" name="searchstring" id="pageType" value="" />
 <div id="resultdialog"> 
 <a href="#" id="resultclose">Close</a> 
 <p id="resultlinks" class="all"><a href="#" id="showallresults">All</a> | <a href="#" id="showapiresults">API</a> | <a href="#" id="showarticleresults">Articles</a> | <a href="#" id="showexampleresults">Examples</a></p> 
 <p id="searchcount" class="all"><span id="resultcount"></span><span id="apicount"></span><span id="articlecount"></span><span id="examplecount"></span>&nbsp;results:</p> 
 <ul id="resultlist" class="all"> 
 </ul> 
 </div> 
            </fieldset>
          </form>
        </div>
        <div class="box first bottombar" id="lookup">
          <h2 title="API Lookup"><span></span>
            API Lookup</h2>
          <div  id="list001" class="list">
          <ul id="ul001" >
              <li class="defaultLink"><a href="classes.html">Class index</a></li>
              <li class="defaultLink"><a href="functions.html">Function index</a></li>
              <li class="defaultLink"><a href="modules.html">Modules</a></li>
              <li class="defaultLink"><a href="namespaces.html">Namespaces</a></li>
              <li class="defaultLink"><a href="qtglobal.html">Global Declarations</a></li>
              <li class="defaultLink"><a href="qdeclarativeelements.html">QML elements</a></li>
            </ul> 
          </div>
        </div>
        <div class="box bottombar" id="topics">
          <h2 title="Qt Topics"><span></span>
            Qt Topics</h2>
          <div id="list002" class="list">
            <ul id="ul002" >
               <li class="defaultLink"><a href="qt-basic-concepts.html">Programming with Qt</a></li> 
               <li class="defaultLink"><a href="qtquick.html">Device UIs &amp; Qt Quick</a></li> 
               <li class="defaultLink"><a href="qt-gui-concepts.html">UI Design with Qt</a></li> 
               <li class="defaultLink"><a href="supported-platforms.html">Supported Platforms</a></li>  
               <li class="defaultLink"><a href="technology-apis.html">Qt and Key Technologies</a></li> 
               <li class="defaultLink"><a href="best-practices.html">How-To's and Best Practices</a></li> 
            </ul>  
          </div>
        </div>
        <div class="box" id="examples">
          <h2 title="Examples"><span></span>
            Examples</h2>
          <div id="list003" class="list">
        <ul id="ul003">
              <li class="defaultLink"><a href="all-examples.html">Examples</a></li>
              <li class="defaultLink"><a href="tutorials.html">Tutorials</a></li>
              <li class="defaultLink"><a href="demos.html">Demos</a></li>
              <li class="defaultLink"><a href="qdeclarativeexamples.html">QML Examples</a></li>
            </ul> 
          </div>
        </div>
      </div>
      <div class="wrap">
        <div class="toolbar">
          <div class="breadcrumb toolblock">
            <ul>
              <li class="first"><a href="index.html">Home</a></li>
              <!--  Breadcrumbs go here -->
<li><a href="modules.html">Modules</a></li>
<li><a href="qtgui.html">QtGui</a></li>
<li>QMacCocoaViewContainer</li>
            </ul>
          </div>
          <div class="toolbuttons toolblock">
            <ul>
              <li id="smallA" class="t_button">A</li>
              <li id="medA" class="t_button active">A</li>
              <li id="bigA" class="t_button">A</li>
              <li id="print" class="t_button"><a href="javascript:this.print();">
                <span>Print</span></a></li>
            </ul>
        </div>
        </div>
        <div class="content mainContent">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#public-functions">Public Functions</a></li>
<li class="level1"><a href="#details">Detailed Description</a></li>
</ul>
</div>
<h1 class="title">QMacCocoaViewContainer Class Reference</h1>
<!-- $$$QMacCocoaViewContainer-brief -->
<p>The QMacCocoaViewContainer class provides a widget for Mac OS X that can be used to wrap arbitrary Cocoa views (i.e&#x2e;, NSView subclasses) and insert them into Qt hierarchies. <a href="#details">More...</a></p>
<!-- @@@QMacCocoaViewContainer -->
<pre class="cpp"> <span class="preprocessor">#include &lt;QMacCocoaViewContainer&gt;</span></pre><p><b>Inherits: </b><a href="qwidget.html">QWidget</a>.</p>
<p>This class was introduced in Qt 4.5.</p>
<ul>
<li><a href="qmaccocoaviewcontainer-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h2>Public Functions</h2>
<table class="alignedsummary">
<tr><td class="memItemLeft rightAlign topAlign"> </td><td class="memItemRight bottomAlign"><b><a href="qmaccocoaviewcontainer.html#QMacCocoaViewContainer">QMacCocoaViewContainer</a></b> ( void * <i>cocoaViewToWrap</i>, QWidget * <i>parent</i> = 0 )</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> virtual </td><td class="memItemRight bottomAlign"><b><a href="qmaccocoaviewcontainer.html#dtor.QMacCocoaViewContainer">~QMacCocoaViewContainer</a></b> ()</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void * </td><td class="memItemRight bottomAlign"><b><a href="qmaccocoaviewcontainer.html#cocoaView">cocoaView</a></b> () const</td></tr>
<tr><td class="memItemLeft rightAlign topAlign"> void </td><td class="memItemRight bottomAlign"><b><a href="qmaccocoaviewcontainer.html#setCocoaView">setCocoaView</a></b> ( void * <i>cocoaViewToWrap</i> )</td></tr>
</table>
<ul>
<li class="fn">221 public functions inherited from <a href="qwidget.html#public-functions">QWidget</a></li>
<li class="fn">29 public functions inherited from <a href="qobject.html#public-functions">QObject</a></li>
<li class="fn">13 public functions inherited from <a href="qpaintdevice.html#public-functions">QPaintDevice</a></li>
</ul>
<h3>Additional Inherited Members</h3>
<ul>
<li class="fn">58 properties inherited from <a href="qwidget.html#properties">QWidget</a></li>
<li class="fn">1 property inherited from <a href="qobject.html#properties">QObject</a></li>
<li class="fn">19 public slots inherited from <a href="qwidget.html#public-slots">QWidget</a></li>
<li class="fn">1 public slot inherited from <a href="qobject.html#public-slots">QObject</a></li>
<li class="fn">1 signal inherited from <a href="qwidget.html#signals">QWidget</a></li>
<li class="fn">1 signal inherited from <a href="qobject.html#signals">QObject</a></li>
<li class="fn">4 static public members inherited from <a href="qwidget.html#static-public-members">QWidget</a></li>
<li class="fn">7 static public members inherited from <a href="qobject.html#static-public-members">QObject</a></li>
<li class="fn">37 protected functions inherited from <a href="qwidget.html#protected-functions">QWidget</a></li>
<li class="fn">8 protected functions inherited from <a href="qobject.html#protected-functions">QObject</a></li>
<li class="fn">1 protected function inherited from <a href="qpaintdevice.html#protected-functions">QPaintDevice</a></li>
<li class="fn">1 protected slot inherited from <a href="qwidget.html#protected-slots">QWidget</a></li>
</ul>
<a name="details"></a>
<!-- $$$QMacCocoaViewContainer-description -->
<div class="descr">
<h2>Detailed Description</h2>
<p>The QMacCocoaViewContainer class provides a widget for Mac OS X that can be used to wrap arbitrary Cocoa views (i.e&#x2e;, NSView subclasses) and insert them into Qt hierarchies.</p>
<p>While Qt offers a lot of classes for writing your application, Apple's Cocoa framework offers lots of functionality that is not currently in Qt or may never end up in Qt. Using QMacCocoaViewContainer, it is possible to put an arbitrary NSView-derived class from Cocoa and put it in a Qt hierarchy. Depending on how comfortable you are with using objective-C, you can use QMacCocoaViewContainer directly, or subclass it to wrap further functionality of the underlying NSView.</p>
<p>QMacCocoaViewContainer works regardless if Qt is built against Carbon or Cocoa. However, QCocoaContainerView requires Mac OS X 10.5 or better to be used with Carbon.</p>
<p>It should be also noted that at the low level on Mac OS X, there is a difference between windows (top-levels) and view (widgets that are inside a window). For this reason, make sure that the NSView that you are wrapping doesn't end up as a top-level. The best way to ensure this is to make sure you always have a parent and not set the parent to 0.</p>
<p>If you are using QMacCocoaViewContainer as a sub-class and are mixing and matching objective-C with C++ (a.k&#x2e;a&#x2e; objective-C++). It is probably simpler to have your file end with <tt>.mm</tt> than <tt>.cpp</tt>. Most Apple tools will correctly identify the source as objective-C++.</p>
<p>QMacCocoaViewContainer requires knowledge of how Cocoa works, especially in regard to its reference counting (retain/release) nature. It is noted in the functions below if there is any change in the reference count. Cocoa views often generate temporary objects that are released by an autorelease pool. If this is done outside of a running event loop, it is up to the developer to provide the autorelease pool.</p>
<p>The following is a snippet of subclassing QMacCocoaViewContainer to wrap a NSSearchField.</p>
<pre class="cpp"> SearchWidget::SearchWidget(QWidget *parent)
     : QMacCocoaViewContainer(0, parent)
 {
     // Many Cocoa objects create temporary autorelease objects,
     // so create a pool to catch them.
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

     // Create the NSSearchField, set it on the QCocoaViewContainer.
     NSSearchField *search = [[NSSearchField alloc] init];
     setCocoaView(search);

     // Use a Qt menu for the search field menu.
     QMenu *qtMenu = createMenu(this);
     NSMenu *nsMenu = qtMenu-&gt;macMenu(0);
     [[search cell] setSearchMenuTemplate:nsMenu];

     // Release our reference, since our super class takes ownership and we
     // don't need it anymore.
     [search release];

     // Clean up our pool as we no longer need it.
     [pool release];
 }</pre>
</div>
<!-- @@@QMacCocoaViewContainer -->
<div class="func">
<h2>Member Function Documentation</h2>
<!-- $$$QMacCocoaViewContainer[overload1]$$$QMacCocoaViewContainervoid*QWidget* -->
<h3 class="fn"><a name="QMacCocoaViewContainer"></a>QMacCocoaViewContainer::<span class="name">QMacCocoaViewContainer</span> ( <span class="type">void</span> * <i>cocoaViewToWrap</i>, <span class="type"><a href="qwidget.html">QWidget</a></span> * <i>parent</i> = 0 )</h3>
<p>Create a new <a href="qmaccocoaviewcontainer.html">QMacCocoaViewContainer</a> using the NSView pointer in <i>cocoaViewToWrap</i> with parent, <i>parent</i>. <a href="qmaccocoaviewcontainer.html">QMacCocoaViewContainer</a> will retain <i>cocoaViewToWrap</i>.</p>
<p><i>cocoaViewToWrap</i> is a void pointer that allows the header to be included with C++ source.</p>
<!-- @@@QMacCocoaViewContainer -->
<!-- $$$~QMacCocoaViewContainer[overload1]$$$~QMacCocoaViewContainer -->
<h3 class="fn"><a name="dtor.QMacCocoaViewContainer"></a>QMacCocoaViewContainer::<span class="name">~QMacCocoaViewContainer</span> ()<tt> [virtual]</tt></h3>
<p>Destroy the <a href="qmaccocoaviewcontainer.html">QMacCocoaViewContainer</a> and release the wrapped view.</p>
<!-- @@@~QMacCocoaViewContainer -->
<!-- $$$cocoaView[overload1]$$$cocoaView -->
<h3 class="fn"><a name="cocoaView"></a><span class="type">void</span> * QMacCocoaViewContainer::<span class="name">cocoaView</span> () const</h3>
<p>Returns the NSView that has been set on this container. The returned view has been autoreleased, so you will need to retain it if you want to make use of it.</p>
<p><b>See also </b><a href="qmaccocoaviewcontainer.html#setCocoaView">setCocoaView</a>().</p>
<!-- @@@cocoaView -->
<!-- $$$setCocoaView[overload1]$$$setCocoaViewvoid* -->
<h3 class="fn"><a name="setCocoaView"></a><span class="type">void</span> QMacCocoaViewContainer::<span class="name">setCocoaView</span> ( <span class="type">void</span> * <i>cocoaViewToWrap</i> )</h3>
<p>Sets the NSView to contain to be <i>cocoaViewToWrap</i> and retains it. If this container already had a view set, it will release the previously set view.</p>
<p><b>See also </b><a href="qmaccocoaviewcontainer.html#cocoaView">cocoaView</a>().</p>
<!-- @@@setCocoaView -->
</div>
      </div>
    </div>
    </div> 
    <div class="ft">
      <span></span>
    </div>
  </div> 
  <div class="footer">
    <p>
      <acronym title="Copyright">&copy;</acronym> 2013 Digia Plc and/or its
      subsidiaries. Documentation contributions included herein are the copyrights of
      their respective owners.</p>
    <br />
    <p>
      The documentation provided herein is licensed under the terms of the
      <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation
      License version 1.3</a> as published by the Free Software Foundation.</p>
    <p>
      Documentation sources may be obtained from <a href="http://www.qt-project.org">
      www.qt-project.org</a>.</p>
    <br />
    <p>
      Digia, Qt and their respective logos are trademarks of Digia Plc 
      in Finland and/or other countries worldwide. All other trademarks are property
      of their respective owners. <a title="Privacy Policy"
      href="http://en.gitorious.org/privacy_policy/">Privacy Policy</a></p>
  </div>

  <script src="scripts/functions.js" type="text/javascript"></script>
</body>
</html>