<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><title>Nieuw in OpenOffice.org 3.3</title>

  <style type="text/css">
/*<![CDATA[*/
  .MyPics { 
  border: solid silver 1px;
  display: inline;
  float: right;
  }
  .BigHead {
   margin-top: 15px;
  }
  /*]]>*/
  </style>

</head>
<body>
<!-- auteur: Dick Groskamp, Cor Nouws -->
<!-- rev. 2010-01-27-2 -->
<table width="100%">
<tbody>
<tr>
<td>


  <h1>OpenOffice.org 3.3 Nieuwe mogelijkheden</h1>

  <table id="toc" summary="Inhoud">
    <tbody><tr>
      <td colspan="2">
        <h2>Inhoud</h2>
      </td>
    </tr>

    <tr>
      <td width="50%">
        <ul>
          <li>
            <a href="#Productivity_Enhancements">Verbeteringen voor productiviteit</a>
            <ul>
              <li><a href="#New_Custom_Properties_Handling">
              Nieuwe afhandeling gebruikergedefinieerde eigenschappen</a></li>
              <li><a href="#Embedding_of_Standard_PDF_Fonts">
              Inbedding van standaard PDF-lettertypen</a></li>
              <li><a href="#New_Narrow_Font_Family">
              Nieuw lettertype Narrow</a></li>
              <li><a href="#Increased_Document_Protection_in_Writer_and_Calc">
              Verbeterde beveiliging documenten in Writer en Calc</a></li>
              <li><a href="#Automatic_Decimals_Digits_for_General_format_in_Calc">
              Automatische getallen achter de komma voor de notatie 'Algemeen' in Calc</a></li>
              <li><a href="#One_Million_Rows_in_a_Spreadsheet">
              1 miljoen rijen in een werkblad</a></li>
              <li><a href="#New_Options_for_CSV_Comma_Separated_Value_Import_in_Calc">
              Nieuwe opties voor importeren van CSV (komma gescheiden waarde) in Calc</a></li>
              <li><a href="#Insert_Drawing_Objects_in_Charts">
              Invoegen van tekenobjecten in diagrammen</a></li>
              <li><a href="#Hierarchical_Axis_Labels_for_Charts">
              Hiërarchische aslabels voor diagrammen</a></li>
              <li><a href="#Improved_Slide_LayoutHandling_in_Impress">
              Verbeterde afhandeling van dia-ontwerp in Impress</a></li>
              <li><a href="#Manual_Setting_for_Primary_Key_Support_for_Databases">
              Handmatige instelling voor ondersteuning van primaire sleutel voor databases</a></li>
              <li><a href="#Support_of_Read-Only_Database_Registrations">
              Ondersteuning van registratie voor alleen-lezen database</a></li>
              <li><a href="#New_Math_Command_nospace">
              Nieuwe opdracht in Math 'nospace'</a></li>
            </ul>
          </li>

          <li>
            <a href="#Internationalization">Internationalisatie</a>
            <ul>
              <li><a href="#Additional_Locale_Data">
              Aanvullende gegevens locale</a></li>
            </ul>
          </li>
        </ul>
      </td>

      <td width="50%">
        <ul>
          <li>
            <a href="#Usability_and_Interface">Gebruik en interface</a>
            <ul>
              <li><a href="#Common_Search_Toolbar">
              Algemene werkbalk Zoeken</a></li>
              <li><a href="#New_Easier_to_Use_Print_Interface">
              Nieuwe, eenvoudiger te gebruiken, interface voor afdrukken</a></li>
              <li><a href="#More_Options_for_Changing_Case">
              Meer opties voor wijzigen hoofd-/kleine letters</a></li>
              <li><a href="#Redesign_of_Thesaurus">
              Nieuw ontwerp voor Thesaurus</a></li>
              <li><a href="#Resetting_Text_to_the_Default_Language_in_Writer">
              Herstellen van tekst naar standaard taal in Writer</a></li>
              <li><a href="#Text_Rendering_of_Form_Controls_in_Writer">
              Renderen van tekst van besturingselementen voor formulieren in Writer</a></li>
              <li><a href="#Changed_Defaults_for_Charts">
              Gewijzigde standaarden voor diagrammen</a></li>
              <li><a href="#Colored_Sheet_Tabs_in_Calc">
              Gekleurde werkbladtabs in Calc</a></li>
              <li><a href="#Adapt_to_Marked_Selection_for_Filter_Area_in_Calc">
              Aanpassing naar gemarkeerde selectie voor filtergebied in Calc</a></li>
              <li><a href="#Sort_Dialog_for_DataPilot_in_Calc">
              Dialoogvenster Sorteren voor Draaitabel in Calc</a></li>
              <li><a href="#Display_Custom-Names_for_DataPilot_Fields_Items_and_Totals_in_Calc">
              Weergeven van aangepaste namen voor velden van Draaitabel, items en totalen in Calc</a></li>
            </ul>
          </li>

          <li>
            <a href="#Developer_Features_and_Extensibility">
            Mogelijkheden en uitbreidingen voor ontwikkelaars</a>
            <ul>
              <li><a href="#Grid_Control_Enhancements">
              Verbeteringen voor tabelobject</a></li>
              <li><a href="#New_MetaData_Node_for_Database">
              Nieuwe node MetaData voor Database</a></li>
              <li><a href="#Extending_Database_Drivers_Using_Extensions">
              Uitbreiding besturingsprogramma's voor databases met behulp van extensies </a></li>
            </ul>
          </li>
        </ul>
      </td>
    </tr>

    <tr>
      <td colspan="2">
        <p><b>Bronnen voor dit document:</b></p>
        <ul>
          <li><a href="http://development.openoffice.org/releases/3.3.0rc3.html" title="Volledige technische opmerkingen voor de uitgave">Volledige technische opmerkingen voor de uitgave</a></li>
          
          <li><a href="http://wiki.services.openoffice.org/wiki/Feature_Freeze_Testing_3.3" title="QA-lijst van nieuwe mogelijkheden">QA-lijst van nieuwe mogelijkheden</a></li>
          
          <li><a href="http://blogs.sun.com/GullFOSS" title="OpenOffice.org Engineering Blog GullFOSS">
          
          OpenOffice.org Engineering Blog GullFOSS</a></li>
        </ul>
      </td>
    </tr>
  </tbody></table>
  <br>

  <h1 class="BigHead">Verbeteringen voor productiviteit
  <a name="Productivity_Enhancements" id="Productivity_Enhancements"></a></h1>
  
  <h2>Nieuwe afhandeling gebruikergedefinieerde eigenschappen<a name="New_Custom_Properties_Handling" id="New_Custom_Properties_Handling"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-NewCustomPropertiesHandling.png" title="Nieuwe afhandeling gebruikergedefinieerde eigenschappen">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-NewCustomPropertiesHandling.png" alt="Nieuwe afhandeling gebruikergedefinieerde eigenschappen" width="200"></a>
  OpenOffice.org maakt het voor gebruikers mogelijk om een onbeperkt aantal gebruikergedefinieerde documenteigenschappen te definiëren als naam/waarde-paren in het dialoogvenster <b>Bestand&gt; Eigenschappen</b>. Met versie 3.3 is het mogelijk om ook Datum/Tijd-waarden en waarden die een duur bevatten te definiëren.</p><br><br><br><br><br>

  <h2>Inbedding van standaard PDF-lettertypen<a name="Embedding_of_Standard_PDF_Fonts" id="Embedding_of_Standard_PDF_Fonts"></a></h2>

  <p>In vorige versies werden de standaard PDF standaardlettertypen (Times, Helvetica, Courier, Symbol en ZapfDingbats) alleen ingebed in de resulterende PDF als het uiteindelijke bestand van het type PDF/A was, omdat de standaarden voor PDF/A dit vereisten. In versie 3.3 kunt u deze lettertypen, optioneel, inbedden in alle PDF-documenten die worden gemaakt door OpenOffice.org om de nauwkeurigheid van de weergave in PDF-lezers te verbeteren.</p>

  <h2>Nieuw lettertype Narrow<a name="New_Narrow_Font_Family" id="New_Narrow_Font_Family"></a></h2>

  <p>Oracle draagt een Narrow-lettertype bij aan de opensource familie van lettertypen <a href="http://en.wikipedia.org/wiki/Liberation_fonts" title="Liberation
  lettertype">Liberation</a>. Omdat dit metrisch compatibel is met het lettertype Arial Narrow, dat veel gebruikt wordt op systemen met Microsoft Windows, completeert dit lettertype nu de lettertypenfamilie Liberation en levert een compatibele en gratis verzameling lettertypen op die beschikbaar zijn op alle platformen.</p>

  <h2>Verbeterde beveiliging documenten in Writer en Calc
  <a name="Increased_Document_Protection_in_Writer_and_Calc" id="Increased_Document_Protection_in_Writer_and_Calc"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-IncreasedDocumentProtectionInWriterAndCalc.png" title="Verbeterde beveiliging documenten in Writer en Calc">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-IncreasedDocumentProtectionInWriterAndCalc.png" alt="Verbeterde beveiliging documenten in Writer en Calc" width="200"></a>
  OpenOffice.org Writer en Calc maken nu twee niveaus van beveiliging van documenten mogelijk. Net zoals eerst kunt u een document opslaan met een wachtwoord dat voorkomt dat niet-geautoriseerde gebruikers de inhoud lezen. Nu kunt u ook een wachtwoord instellen om een document te beveiligen tegen ongewenste wijzigingen.</p>

  <p>Op deze manier kunt u de inhoud van een document beschikbaar maken om te lezen door een geselecteerde groep mensen, en voorlezen en bewerken door een andere groep. Dit gedrag is nu compatibel met de bestandsbeveiliging in Microsoft Word en Excel.</p><br><br><br><br><br><br><br><br>

  <h2>Automatische getallen achter de komma voor de notatie 'Algemeen' in Calc
  <a name="Automatic_Decimals_Digits_for_General_format_in_Calc" id="Automatic_Decimals_Digits_for_General_format_in_Calc"></a></h2>

  <p>In OpenOffice.org Calc zullen de getallen die zijn opgemaakt met de getalnotatie 'Algemeen' worden weergegeven met zoveel getallen achter de komma als vereist is. In eerdere versies werd een maximum van 2 decimale getallen weergegeven in de getalnotatie 'Algemeen'.</p>

  <h2>1 miljoen rijen in een werkblad<a name="One_Million_Rows_in_a_Spreadsheet" id="One_Million_Rows_in_a_Spreadsheet"></a></h2>

  <p>Werkbladen van OpenOffice.org Calc ondersteunen nu 1.048.576 (1 miljoen) rijen in plaats van 65.536 rijen.</p>

  <h2>Nieuwe opties voor importeren van CSV (komma gescheiden waarde) in Calc
  <a name="New_Options_for_CSV_Comma_Separated_Value_Import_in_Calc" id="New_Options_for_CSV_Comma_Separated_Value_Import_in_Calc"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/NewOptionsForCSVImportInCalc.png" title="Nieuwe opties voor importeren van CSV (komma gescheiden waarde) in Calc">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/NewOptionsForCSVImportInCalc.png" alt="Nieuwe opties voor importeren van CSV (komma gescheiden waarde) in Calc"></a>
  Twee nieuwe opties zijn beschikbaar bij het importeren van CSV-bestanden die gegevens bevatten die zijn gescheiden door specifieke tekens.</p>

  <p>Deze opties bepalen of gegevens met aanhalingstekens altijd als tekst zullen worden geïmporteerd, en of OpenOffice.org Calc automatisch alle getalsopmaak zal detecteren, inclusief speciale getalsopmaak zoals datums, tijd en wetenschappelijke notatie. De detectie is afhankelijk van de taalinstellingen.</p>

  <h2>Invoegen van tekenobjecten in diagrammen
  <a name="Insert_Drawing_Objects_in_Charts" id="Insert_Drawing_Objects_in_Charts"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-InsertDrawingObjectsInCharts.png" title="Invoegen van tekenobjecten in diagrammen">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-InsertDrawingObjectsInCharts.png" alt="Invoegen van tekenobjecten in diagrammen" width="200"></a>
  De functionaliteit Diagram is verbeterd en ondersteunt nu tekenobjecten. De werkbalk tekening maakt het mogelijk eenvoudige vormen zoals lijnen, rechthoeken en tekstobjecten in te voegen en zelfs complexe vormen zoals kubussen, symbolen, blokpijlen, stroomdiagrammen en sterren. De tekenobjecten kunnen worden bewerkt door verschillende dialoogvensters die kunnen worden geopend via het contextmenu. Ook het lettertype en opmaak van tekstobjecten kan worden gewijzigd.</p>

  <p>Voor meer details van deze mogelijkheid, bekijk het <a href="http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice3"> GullFOSS blogartikel</a>.</p>

  <h2>Hiërarchische aslabels voor diagrammen
  <a name="Hierarchical_Axis_Labels_for_Charts" id="Hierarchical_Axis_Labels_for_Charts"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-HierarchicalAxisLabelsForCharts.png" title="Hiërarchische aslabels voor diagrammen">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-HierarchicalAxisLabelsForCharts.png" alt="Hiërarchische aslabels voor diagrammen" width="200"></a>
  Als de categorieën in diagrammen hun gegevens uit een werkblad krijgen en zich uitstrekken over meerdere rijen en kolommen, wordt de richting van de eerste gegevensreeks gedetecteerd. Als de gegevens voor de eerste reeks uit rijen komt, worden de catgorieën opgesplitst in meerdere rijen. Anders zullen de categorieën worden gesplitst in meerdere kolommen. De gesplitste categorieën worden dan toegepast als verschillende hiërarchische labels op de x-as.</p><br><br>

  <p><a href="nieuw-in-3-3-bestanden/200px-HierarchicalAxisLabelsForChartsData.png" title="Hiërarchische aslabels voor gegevens van diagrammen">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-HierarchicalAxisLabelsForChartsData.png" alt="Hiërarchische aslabels voor gegevens van diagrammen" width="200"></a>
  Voor diagrammen met eigen gegevens (gewoonlijk gebruikt in Impress or Writer), is er een nieuw pictogram om tekstkolommen toe te voegen, die dan zullen worden gebruikt voor de verschillende niveaus in de labels van de x-as.</p>

  <p>Voor meer details van deze mogelijkheid, bekijk het <a href="http://blogs.sun.com/GullFOSS/entry/new_chart_features_in_openoffice4"> GullFOSS blogartikel</a>.</p><br><br><br>

  <h2>Verbeterde afhandeling van dia-ontwerp in Impress
  <a name="Improved_Slide_Layout_Handling_in_Impress" id="Improved_Slide_Layout_Handling_in_Impress"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-ImprovedSlideLayoutHandlingInImpress1.png" title="Verbeterde afhandeling van dia-ontwerp in Impress">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-ImprovedSlideLayoutHandlingInImpress1.png" alt="Verbeterde afhandeling van dia-ontwerp in Impress" width="200"></a>
  Afhandeling van dia-ontwerpen in presentaties is aanzienlijk verbeterd. Het type van inhoud van de gedeelten van de dia wordt nu direct gedefinieerd op de dia door te klikken op één van de vier pictogrammen voor typen inhoud: tabel, diagram, afbeelding, of film, of direct tekst invoeren.</p><br><br><br><br>

  <p><a href="nieuw-in-3-3-bestanden/200px-ImprovedSlideLayoutHandlingInImpress3.png" title="Verbeterde afhandeling van dia-ontwerp in Impress">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-ImprovedSlideLayoutHandlingInImpress3.png" alt="Verbeterde afhandeling van dia-ontwerp in Impress" width="200"></a>
  Dit vermindert het aantal variëteiten voor dia-ontwerpen, hetgeen de selectie voor de opmaak veel helderder maakt. In aanvulling hierop kunt u nu ook lay-outs toewijzen aan dia's en nieuwe dia's maken met een specifieke opmaak met behulp van de werkbalk. Eén nieuw element op de werkbalk wordt gebruikt om een nieuwe dia toe te voegen (of de huidige geselecteerde dia te dupliceren).</p>

  <p>Een soortgelijk element op de werkbalk wordt gebruikt om een lay-out toe te wijzen aan de huidige geselecteerde dia, of de lay-out te herstellen naar de toegewezen lay-out na het maken van wijzigingen.</p><br><br><br>

  <h2>Handmatige instelling voor ondersteuning van Primaire sleutel voor databases
  <a name="Manual_Setting_for_Primary_Key_Support_for_Databases" id="Manual_Setting_for_Primary_Key_Support_for_Databases"></a></h2>

  <p>Bij het verbinden met een database via een ODBC-, JDBC-, of ADO-besturingsprogramma, wordt Base gebruikt om een heuristische methode toe te passen om te bepalen of de database primaire sleutels ondersteunt. In sommige gevallen faalde deze heuristische methode. Daarom introduceert versie 3.3 een expliciete optie om ondersteuning voor primaire sleutels te declareren. Als deze instelling is ingeschakeld zal Base er altijd van uitgaan dat de database primaire sleutels ondersteunt, ongeacht het resultaat van de heuristische analyse.</p>

  <h2>Ondersteuning van registratie voor alleen-lezen database
  <a name="Support_of_Read-Only_Database_Registrations" id="Support_of_Read-Only_Database_Registrations"></a></h2>

  <p>In OpenOffice.org worden registraties van databases opgeslagen in de configuratiebestanden van de toepassing. Daarom is het mogelijk om aanvullende fragmenten voor de configuratie uit te voeren die aanvullende registraties bevatten. Indien deze fragmenten voor de configuratie worden gedeclareerd als alleen-lezen (met behulp van de gebruikelijke mechanismen voor de configuratie hiervan), blokkeert OpenOffice.org nu aanpassingen (bewerkingen, verwijdering) van het overeenkomend registratie-item.</p>

  <h2>Nieuwe opdracht in Math 'nospace'<a name="New_Math_Command_nospace" id="New_Math_Command_nospace"></a></h2>

  <p>Het is nu mogelijk om expliciet de smalle horizontale ruimte die altijd wordt toegepast tussen twee elementen te verwijderen. De syntaxis is <code>nospace { el1 el2 ... }</code></p>

  <h1 class="BigHead">Gebruik en interface
  <a name="Usability_and_Interface" id="Usability_and_Interface"></a></h1>
  
  <h2>Algemene werkbalk Zoeken<a name="Common_Search_Toolbar" id="Common_Search_Toolbar"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/CommonSearchToolbar.png" title="Algemene werkbalk Zoeken">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/CommonSearchToolbar.png" alt="Algemene werkbalk Zoeken"></a>
  Gegevens over het gebruik gaven aan dat een groot gedeelte van de gebruikers van OpenOffice.org snel wilden zoeken binnen de tekst van een document. Dit is nu mogelijk met behulp van de nieuwe werkbalk 'Zoeken' die een zoekveld bevat en de knoppen Vorige en Volgende.</p>

  <h2>Nieuwe, eenvoudiger te gebruiken, interface voor afdrukken
  <a name="New_Easier_to_Use_Print_Interface" id="New_Easier_to_Use_Print_Interface"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-NewEasierToUsePrintInterface.png" title="Nieuwe, eenvoudiger te gebruiken, interface voor afdrukken">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-NewEasierToUsePrintInterface.png" alt="Nieuwe, eenvoudiger te gebruiken, interface voor afdrukken" width="200"></a>
  Het dialoogvenster Afdrukken is compleet vernieuwd in OpenOffice.org 3.3 om een meer efficiënte en meer bruikbare ervaring voor het afdrukken mogelijk te maken.</p>

  <p>Een geïntegreerd voorbeeld is beschikbaar om het uiterlijk weer te geven van het af te drukken document, en alle relevante instellingen kunnen worden gemaakt vanuit dit dialoogvenster, inclusief aantal pagina's, instellingen voor sorteren, documentobjecten afdrukken of verbergen, volgorde van pagina's, meerdere pagina's afdrukken, en nog veel meer.</p>

  <p>Voor meer details van deze mogelijkheid, bekijk het <a href="http://blogs.sun.com/GullFOSS/entry/new_print_ui_now_integrated"> GullFOSS blogartikel</a>.</p>

  <h2>Meer opties voor wijzigen hoofd-/kleine letters<a name="More_Options_for_Changing_Case" id="More_Options_for_Changing_Case"></a></h2>

  <p>Met versie 3.3 heeft u meer opties voor het wijzigen van hoofd-/kleine letters van een geselecteerd gedeelte tekst. Apart van het wisselen tussen hoofd- en kleine letters, kunt u dat nu instellen op: Zin begint met een hoofdletter (eerste letter hoofdletter), Elk woord met hoofdletter, of Hoofd-/kleine letters wisselen.</p>

  <h2>Nieuw ontwerp voor Thesaurus<a name="Redesign_of_Thesaurus" id="Redesign_of_Thesaurus"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-RedesignOfThesaurus.png" title="Nieuw ontwerp voor Thesaurus">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-RedesignOfThesaurus.png" alt="Nieuw ontwerp voor Thesaurus" width="200"></a>
  Het dialoogvenster Synoniemen is opnieuw vormgegeven voor beter gebruik. In aanvulling daarop maakt een nieuw submenu 'Synoniemen' in het standaard contextmenu het u nu mogelijk om onmiddellijk een synoniem te selecteren voor het huidige geselecteerde woord.</p>
  <br><br><br><br><br><br><br>

  <h2>Herstellen van tekst naar standaard taal in Writer
  <a name="Resetting_Text_to_the_Default_Language_in_Writer" id="Resetting_Text_to_the_Default_Language_in_Writer"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-ResettingTextToTheDefaultLanguageInWriter.png" title="Herstellen van tekst naar standaard taal in Writer">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-ResettingTextToTheDefaultLanguageInWriter.png" alt="Herstellen van tekst naar standaard taal in Writer" width="200"></a>
  U kunt nu de taal van de tekst herstellen naar de standaardtaal met behulp van de statusbalk Taal of het menu Extra &gt; Taal.</p><br><br><br>

  <h2>Renderen van tekst van besturingselementen voor formulieren in Writer
  <a name="Text_Rendering_of_Form_Controls_in_Writer" id="Text_Rendering_of_Form_Controls_in_Writer"></a></h2>

  <p>Besturingselementen in tekstdocumenten renderen nu hun tekst op dezelfde manier als het document dat doet, en maakt dus het uiterlijk van de besturingselementen als een deel van het tekstverloop meer naadloos en consistent.</p>

  <h2>Gewijzigde standaarden voor diagrammen<a name="Changed_Defaults_for_Charts" id="Changed_Defaults_for_Charts"></a></h2>

  <p>Verschillende standaarden zijn gewijzigd voor diagrammen van OpenOffice.org: grootte is groter, lettertype groter, geen zwarte randen, beter 3D-uiterlijk en meer.</p>

  <h2>Gekleurde werkbladtabs in Calc<a name="Colored_Sheet_Tabs_in_Calc" id="Colored_Sheet_Tabs_in_Calc"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/ColoredSheetTabsInCalc.png" title="Gekleurde werkbladtabs in Calc">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/ColoredSheetTabsInCalc.png" alt="Gekleurde werkbladtabs in Calc"></a>
  In elk werkblad in een document van OpenOffice.org Calc kan nu een kleur worden toegewezen document aan de tabs in het gebied werkbladtabs aan de linker onderzijde van het venster.</p>

  <h2>Aanpassing naar gemarkeerde selectie voor filtergebied in Calc
  <a name="Adapt_to_Marked_Selection_for_Filter_Area_in_Calc" id="Adapt_to_Marked_Selection_for_Filter_Area_in_Calc"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-AdaptToMarkedSelectionForFilterAreaInCalc.png" title="Aanpassing naar gemarkeerde selectie voor filtergebied in Calc">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-AdaptToMarkedSelectionForFilterAreaInCalc.png" alt="Aanpassing naar gemarkeerde selectie voor filtergebied in Calc" width="200"></a>
  In OpenOffice.org Calc verkleint een selectie nu naar de actueel gebruikte kolommen met gegevens bij het inschakelen van een filter (AutoFilter, Standaardfilter, Uitgebreid filter).</p>

  <p>Gebruikers kunnen een gehele rij selecteren door te klikken op een rijkop en verwachten dat een filter werkt op de gegevens onder de geselecteerde rij. Indien één enkele rij is geselecteerd wordt de selectie verkleind tot de actueel gebruikte kolommen met gegevens en dan uitgebreid met alle aaneengesloten rijen met gegevens eronder. Selecteren van slechts een gedeelte van een rij gedraagt zich soortgelijk door de geselecteerde kolommen uit te breiden met de rijen met gegevens. Een geselecteerd gebied, bijvoorbeeld meer dan een gehele rij, wordt verkleind tot de actueel gebruikte kolommen met gegevens.</p><br><br>

  <h2>Dialoogvenster Sorteren voor Draaitabel in Calc
  <a name="Sort_Dialog_for_DataPilot_in_Calc" id="Sort_Dialog_for_DataPilot_in_Calc"></a></h2>

  <p><a href="nieuw-in-3-3-bestanden/200px-SortDialogForDataPilotInCalc.png" title="Dialoogvenster Sorteren voor Draaitabel in Calc">
  <img class="MyPics" src="nieuw-in-3-3-bestanden/200px-SortDialogForDataPilotInCalc.png" alt="Dialoogvenster Sorteren voor Draaitabel in Calc" width="200"></a>
  De Draaitabel ondersteunt nu een handige manier van sorteren en filteren van de items met behulp van een speciaal pop-upvenster.</p>

  <p>Voor meer details van deze mogelijkheid, bekijk het <a href="http://blogs.sun.com/GullFOSS/entry/behind_the_scenes_datapilot_improvements"> GullFOSS blogartikel</a>.</p>

  <br><br><br><br><br><br><br><br><br><br><br><br>

  <h2>Weergeven van aangepaste namen voor velden van Draaitabel, items en totalen in Calc
  <a name="Display_Custom_Names_for_DataPilot_Fields_Items_and_Totals_in_Calc" id="Display_Custom_Names_for_DataPilot_Fields_Items_and_Totals_in_Calc"></a></h2>

  <p>Aan velden van Draaitabel, items en totalen kunnen nu eigen namen voor weergave worden toegewezen door ze in de overeenkomende cel in de tabel van de Draaitabel te typen.</p>

  <h1 class="BigHead">Internationalisatie
  <a name="Internationalization" id="Internationalization"></a></h1>

  <h2>Aanvullende gegevens locale<a name="Additional_Locale_Data" id="Additional_Locale_Data"></a></h2>

  <p>Arabisch (Algerije) [ar-DZ], Bafia (Kameroen) [ksf-CM], Bushi (Mayotte) [buc-YT], Campidanees (Sardinië) [sro-IT], Gallurees (Sardinië) [sdn-IT], Gikuyu (Kenia) [ki-KE], Latgaliaans (Letland) [ltg-LV], Logudorees (Sardinië) [src-IT], Maithili (India) [mai-IN], Plateaumalagasi (Madagaskar) [plt-MG], Maore (Mayotte) [swb-YT], Papiamento (Nederlandse Antillen) [pap-AN], Rusyn (Slowakije) [rue-SK], Rusyn (Oekraïne) [rue-UA], Sassarees (Sardinië)[sdc-IT], Sorbisch, Tahitiaans (Frans Polynesië) [ty-PF], Oppersorbisch (Duitsland) [hsb-DE], Yoruba (Nigeria) [yo-NG]</p>

  <h1 class="BigHead">Mogelijkheden en uitbreidingen voor ontwikkelaars
  <a name="Developer_Features_and_Extensibility" id="Developer_Features_and_Extensibility"></a></h1>

  <h2>Verbeteringen voor tabelobject<a name="Grid_Control_Enhancements" id="Grid_Control_Enhancements"></a></h2>

  <p>Het tabelobject accepteert nu aanvullende gegevens zoals getallen of afbeeldingen. De methode XGridDatamodel</p>

  <pre>addRow(string headerName, sequence&lt;string&gt; data)</pre>

  <p>is gewijzigd naar</p>

  <pre>addRow(string headerName, sequence&lt;any&gt; data)</pre>

  <p>U kunt nu het uiterlijk van een tabelobject beheren met behulp van aanvullende parameters voor horizontale en verticale uitlijning, achtergrondkleuren voor rij, lijnkleuren, en tekstkleuren. Voor meer informatie en voorbeelden, bekijk de OpenOffice.org wikipagina's.</p>

  <h2>Nieuwe node MetaData voor Database<a name="New_MetaData_Node_for_Database" id="New_MetaData_Node_for_Database"></a></h2>

  <p>U kunt nu een nieuwe eigenschap definiëren in een xcu-bestand van het besturingsprogramma voor een database. Dit is standaard ingeschakeld voor besturingsprogramma's voor MySQL (JDBC) en ADO (inclusief Microsoft Access). De eigenschap wordt gedefinieerd in het gedeelte MetaData.</p>

  <pre>  &lt;node oor:name="SupportsColumnDescription" oor:op="replace"&gt;
      &lt;prop oor:name="Value" oor:type="xs:boolean"&gt;
          &lt;value&gt;true&lt;/value&gt;
      &lt;/prop&gt;
  &lt;/node&gt;
  </pre>

  <p>Wanneer deze eigenschap is ingeschakeld zal het tabelontwerp de omschrijving van de kolom weergeven naast de normale omschrijving die wordt gebruikt als Helptekst.</p>

  <h2>Uitbreiding besturingsprogramma's voor databases met behulp van extensies
  <a name="Extending_Database_Drivers_Using_Extensions" id="Extending_Database_Drivers_Using_Extensions"></a></h2>

  <p>Sommige besturingsprogramma's voor databases ondersteunen geen speciale mogelijkheden zoals definities voor afwisselende weergave of toevoegen/verwijderen van sleutels van tabellen. Vanaf OpenOffice.org 3.3 kunnen de overeenkomende interfaces worden geïmplementeerd door een extensie:</p>

  <pre>  com.sun.star.sdb.tools.XViewAccess

  com.sun.star.sdb.tools.XTableRename

  com.sun.star.sdb.tools.XTableAlteration

  com.sun.star.sdb.tools.XKeyAlteration

  com.sun.star.sdb.tools.XIndexAlteration
  </pre>

  <p>Voor meer details over de implementatie van deze mogelijkheid, bekijk het overeenkomende gedeelte in de <a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/Database/Extending_Database_Drivers" title="OpenOffice.org Developer's Guide"> OpenOffice.org Developer's Guide</a>.</p>




</div>

</td>
    </tr>
  </tbody></table>
    

    

<!-- invoegen bestand navbar.inc --> 
<td valign="top" width="15%">
<table border="0" cellpadding="5" cellspacing="5" width="100%">
<tbody>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>nl.OOo
</b></font></td>
</tr>
<tr>
<td><font size="2"><a href="index.html">Intro</a><br>
<a href="nl-nieuws.html">Nieuws</a>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Software
</b></font></td>
</tr>
<tr>
<td><font size="2"> <a href="about-product.html">Beschrijving</a><br>
<a href="nieuw-in-3.3.html">Nieuw in 3.3</a><br>
<a href="downloaden.html">Downloaden</a><br>
<a href="cdrom.html">CD-ROM</a><br>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>OOo
</b></font></td>
</tr>
<tr>
<td><font size="2"> <a href="achtergronden.html">Achtergronden</a><br>
<a href="faq.html">FAQ</a><br>
<a href="begrippenlijst.html">Begrippenlijst</a>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Hulp
</b></font></td>
</tr>
<tr>
<td><font size="2"> 
<a href="about-mailinglist.html">Mailinglists</a><br>
<a href="http://user.services.openoffice.org/nl/forum/">Gebruikersforum</a><br>
<a href="about-documentation.html">Documentatie</a><br>
<a href="tipsentrucs.html">Tips&amp;trucs</a>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Meehelpen
</b></font></td>
</tr>
<tr>
<td><font size="2"> <a href="about-helping.html">Projecten</a><br>
<a href="about-issuezilla.html">Bugs&nbsp;melden</a><br>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Contact
</b></font></td>
</tr>
<tr>
<td><font size="2"> <a href="about-mailinglist.html">Mailinglists</a><br>
<a href="credits.html">Wie zijn wij?</a><br>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Overig
</b></font></td>
</tr>
<tr>
<td><font size="2"> <a href="links.html">Links</a><br>
<a href="about-legal.html">Licenties</a><br>
</font></td>
</tr>
<tr>
<td background="header.gif"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>&nbsp;
</b></font></td>
</tr>
</tbody>
</table>
</td>
<!-- einde invoegen bestand navbar.inc --> 
</tr>
</tbody>
</table>
</body></html>
    